Submission #75814672
Source Code Expand
#include <iostream>
#include<set>
#include<vector>
using namespace std;
int N, M, w[5001];
vector<int>p[5001];
bool vis[5001];
bool Es(set<int> &S,int n) {
for (int i:p[n])
if (S.find(i) == S.end())
return false;
return true;
}
int main() {
int v;
cin >> N >> M;
for (int i = 1; N >= i; ++i)
cin >> w[i];
for (int i = 2; N >= i; ++i) {
cin >> v;
vis[v] = true;
p[v].push_back(i);
}
set<int> S;
int m = 0;
for (int i = 1; N >= i; ++i) {
if (!vis[i]) {
S.insert(i);
m += w[i];
}
}
int Mm = m;
for (int i = 1; N >= i; ++i) {
if (vis[i] and Es(S, i)) {
S.insert(i);
m += w[i];
if (m > M)
break;
if (Mm < m)
Mm = m;
for (int j:p[i]){
S.erase(j);
m-=w[j];
}
vis[i] = false;
i = 1;
}
}
if (M < m)
cout << "OOM";
else
cout << Mm;
}
Submission Info
| Submission Time | |
|---|---|
| Task | A - Mobilint Tensor Scheduling (REGULUS) |
| User | auaahks |
| Language | C++23 (GCC 15.2.0) |
| Score | 100 |
| Code Size | 872 Byte |
| Status | AC |
| Exec Time | 206 ms |
| Memory | 3892 KiB |
Judge Result
| Set Name | Sample | All | ||
|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||
| Status | AC |
|
| Set Name | Test Cases |
|---|---|
| Sample | |
| All | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01 | AC | 1 ms | 3488 KiB |
| 02 | AC | 1 ms | 3444 KiB |
| 03 | AC | 1 ms | 3440 KiB |
| 04 | AC | 1 ms | 3384 KiB |
| 05 | AC | 1 ms | 3388 KiB |
| 06 | AC | 1 ms | 3564 KiB |
| 07 | AC | 1 ms | 3448 KiB |
| 08 | AC | 1 ms | 3444 KiB |
| 09 | AC | 1 ms | 3412 KiB |
| 10 | AC | 1 ms | 3408 KiB |
| 11 | AC | 1 ms | 3388 KiB |
| 12 | AC | 1 ms | 3412 KiB |
| 13 | AC | 1 ms | 3432 KiB |
| 14 | AC | 1 ms | 3332 KiB |
| 15 | AC | 1 ms | 3388 KiB |
| 16 | AC | 1 ms | 3408 KiB |
| 17 | AC | 1 ms | 3504 KiB |
| 18 | AC | 1 ms | 3444 KiB |
| 19 | AC | 1 ms | 3508 KiB |
| 20 | AC | 1 ms | 3408 KiB |
| 21 | AC | 1 ms | 3388 KiB |
| 22 | AC | 1 ms | 3508 KiB |
| 23 | AC | 1 ms | 3508 KiB |
| 24 | AC | 1 ms | 3472 KiB |
| 25 | AC | 1 ms | 3564 KiB |
| 26 | AC | 1 ms | 3448 KiB |
| 27 | AC | 1 ms | 3448 KiB |
| 28 | AC | 1 ms | 3292 KiB |
| 29 | AC | 1 ms | 3408 KiB |
| 30 | AC | 1 ms | 3292 KiB |
| 31 | AC | 1 ms | 3508 KiB |
| 32 | AC | 1 ms | 3548 KiB |
| 33 | AC | 1 ms | 3360 KiB |
| 34 | AC | 1 ms | 3444 KiB |
| 35 | AC | 1 ms | 3504 KiB |
| 36 | AC | 1 ms | 3356 KiB |
| 37 | AC | 1 ms | 3516 KiB |
| 38 | AC | 2 ms | 3600 KiB |
| 39 | AC | 1 ms | 3516 KiB |
| 40 | AC | 1 ms | 3540 KiB |
| 41 | AC | 1 ms | 3516 KiB |
| 42 | AC | 2 ms | 3420 KiB |
| 43 | AC | 1 ms | 3536 KiB |
| 44 | AC | 1 ms | 3512 KiB |
| 45 | AC | 3 ms | 3572 KiB |
| 46 | AC | 4 ms | 3516 KiB |
| 47 | AC | 3 ms | 3572 KiB |
| 48 | AC | 1 ms | 3600 KiB |
| 49 | AC | 7 ms | 3572 KiB |
| 50 | AC | 7 ms | 3692 KiB |
| 51 | AC | 1 ms | 3600 KiB |
| 52 | AC | 8 ms | 3420 KiB |
| 53 | AC | 22 ms | 3624 KiB |
| 54 | AC | 8 ms | 3600 KiB |
| 55 | AC | 1 ms | 3496 KiB |
| 56 | AC | 17 ms | 3764 KiB |
| 57 | AC | 46 ms | 3668 KiB |
| 58 | AC | 9 ms | 3764 KiB |
| 59 | AC | 33 ms | 3588 KiB |
| 60 | AC | 117 ms | 3640 KiB |
| 61 | AC | 79 ms | 3644 KiB |
| 62 | AC | 2 ms | 3588 KiB |
| 63 | AC | 51 ms | 3892 KiB |
| 64 | AC | 51 ms | 3768 KiB |
| 65 | AC | 151 ms | 3856 KiB |
| 66 | AC | 206 ms | 3724 KiB |
| 67 | AC | 200 ms | 3832 KiB |
| 68 | AC | 62 ms | 3828 KiB |
| 69 | AC | 3 ms | 3832 KiB |
| 70 | AC | 2 ms | 3656 KiB |