Submission #75814210
Source Code Expand
#include <bits/stdc++.h>
#define fastio cin.tie(0)->sync_with_stdio(0)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define compress(v) sort(all(v)), v.erase(unique(all(v)), v.end())
#define sz(x) (int)(x).size()
using namespace std;
typedef long long ll;
int main() {
fastio; int N, M; cin >> N >> M;
vector<int> w(N+1), p(N+1), cnt(N+1), cv(N+1);
for (int i = 1; i <= N; i++) cin >> w[i];
for (int i = 2; i <= N; i++) {
cin >> p[i];
cnt[p[i]]++; cv[p[i]]++;
}
queue<int> q; int ans = 0, s = 0;
for (int i = 1; i <= N; i++) {
if (cnt[i] == 0) {
q.push(i);
s += w[i];
}
}
ans = max(ans, s);
while (!q.empty()) {
int i = q.front(); q.pop();
cnt[p[i]]--;
if (cnt[p[i]] == 0) {
q.push(p[i]); s++;
ans = max(ans, s);
s -= cv[p[i]];
}
}
if (ans <= M) cout << ans << "\n";
else cout << "OOM\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | A - Mobilint Tensor Scheduling (REGULUS) |
| User | Lov34ever |
| Language | C++23 (GCC 15.2.0) |
| Score | 100 |
| Code Size | 1050 Byte |
| Status | AC |
| Exec Time | 1 ms |
| Memory | 3816 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 | 3508 KiB |
| 02 | AC | 1 ms | 3588 KiB |
| 03 | AC | 1 ms | 3588 KiB |
| 04 | AC | 1 ms | 3588 KiB |
| 05 | AC | 1 ms | 3588 KiB |
| 06 | AC | 1 ms | 3548 KiB |
| 07 | AC | 1 ms | 3664 KiB |
| 08 | AC | 1 ms | 3588 KiB |
| 09 | AC | 1 ms | 3588 KiB |
| 10 | AC | 1 ms | 3556 KiB |
| 11 | AC | 1 ms | 3496 KiB |
| 12 | AC | 1 ms | 3688 KiB |
| 13 | AC | 1 ms | 3660 KiB |
| 14 | AC | 1 ms | 3588 KiB |
| 15 | AC | 1 ms | 3576 KiB |
| 16 | AC | 1 ms | 3576 KiB |
| 17 | AC | 1 ms | 3556 KiB |
| 18 | AC | 1 ms | 3624 KiB |
| 19 | AC | 1 ms | 3508 KiB |
| 20 | AC | 1 ms | 3496 KiB |
| 21 | AC | 1 ms | 3588 KiB |
| 22 | AC | 1 ms | 3588 KiB |
| 23 | AC | 1 ms | 3556 KiB |
| 24 | AC | 1 ms | 3576 KiB |
| 25 | AC | 1 ms | 3548 KiB |
| 26 | AC | 1 ms | 3588 KiB |
| 27 | AC | 1 ms | 3588 KiB |
| 28 | AC | 1 ms | 3588 KiB |
| 29 | AC | 1 ms | 3588 KiB |
| 30 | AC | 1 ms | 3536 KiB |
| 31 | AC | 1 ms | 3536 KiB |
| 32 | AC | 1 ms | 3484 KiB |
| 33 | AC | 1 ms | 3484 KiB |
| 34 | AC | 1 ms | 3596 KiB |
| 35 | AC | 1 ms | 3604 KiB |
| 36 | AC | 1 ms | 3484 KiB |
| 37 | AC | 1 ms | 3508 KiB |
| 38 | AC | 1 ms | 3556 KiB |
| 39 | AC | 1 ms | 3664 KiB |
| 40 | AC | 1 ms | 3616 KiB |
| 41 | AC | 1 ms | 3744 KiB |
| 42 | AC | 1 ms | 3704 KiB |
| 43 | AC | 1 ms | 3716 KiB |
| 44 | AC | 1 ms | 3704 KiB |
| 45 | AC | 1 ms | 3752 KiB |
| 46 | AC | 1 ms | 3676 KiB |
| 47 | AC | 1 ms | 3724 KiB |
| 48 | AC | 1 ms | 3744 KiB |
| 49 | AC | 1 ms | 3784 KiB |
| 50 | AC | 1 ms | 3788 KiB |
| 51 | AC | 1 ms | 3712 KiB |
| 52 | AC | 1 ms | 3624 KiB |
| 53 | AC | 1 ms | 3684 KiB |
| 54 | AC | 1 ms | 3676 KiB |
| 55 | AC | 1 ms | 3816 KiB |
| 56 | AC | 1 ms | 3636 KiB |
| 57 | AC | 1 ms | 3816 KiB |
| 58 | AC | 1 ms | 3684 KiB |
| 59 | AC | 1 ms | 3704 KiB |
| 60 | AC | 1 ms | 3724 KiB |
| 61 | AC | 1 ms | 3664 KiB |
| 62 | AC | 1 ms | 3664 KiB |
| 63 | AC | 1 ms | 3684 KiB |
| 64 | AC | 1 ms | 3744 KiB |
| 65 | AC | 1 ms | 3724 KiB |
| 66 | AC | 1 ms | 3744 KiB |
| 67 | AC | 1 ms | 3816 KiB |
| 68 | AC | 1 ms | 3664 KiB |
| 69 | AC | 1 ms | 3684 KiB |
| 70 | AC | 1 ms | 3744 KiB |