| 29032 | 2026-06-03 18:39:02 | algopro | Vállalati ügyelet | cpp17 | Elfogadva 100/100 | 437ms | 73524 KiB |
// UUID: 4078208b-d4eb-4aca-8ab6-73f05583795b
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
using pll=pair<ll, ll>;
vector<ll> cnt, nagybaba, out;
vector<set<ll>> nap;
vector<vector<ll>> child;
void dfs_cnt(ll x){
ll legnagyobb=-1;
for (auto z:child[x]){
dfs_cnt(z);
cnt[x]+=cnt[z];
if (cnt[z]>legnagyobb){
legnagyobb=cnt[z];
nagybaba[x]=z;
}
}
}
void dfs(ll x){
for (auto z:child[x]){
dfs(z);
}
for (auto z:child[x]){
if (z!=nagybaba[x]){
nap[nagybaba[x]].merge(nap[z]); //itt belepakolsz dolgokat a nagybabába mielőtt meghívod rá a dfs!
//for (auto elem:nap[z]) nap[nagybaba[x]].insert(elem);
}
out[x]=max(out[x], out[z]);
}
if (nagybaba[x]!=-1){
for (auto elem:nap[x]) nap[nagybaba[x]].insert(elem);
swap(nap[x], nap[nagybaba[x]]);
}
while (nap[x].find(out[x])!=nap[x].end()) out[x]++;
}
int main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
ll n; cin >> n;
cnt.resize(n, 1);
nagybaba.resize(n, -1);
nap.resize(n);
nap.resize(n);
child.resize(n);
out.resize(n, 1);
for (ll i=0; i<n; i++){
ll a; cin >> a; a--;
if (i!=0) child[a].push_back(i);
}
for (ll i=0; i<n; i++){
ll x; cin >> x;
nap[i].insert(x);
}
dfs_cnt(0);
dfs(0);
for (auto z:out) cout << z << ' ';
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 209ms | 39732 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Elfogadva | 1ms | 512 KiB | ||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 500 KiB | ||||
| 6 | Elfogadva | 1ms | 500 KiB | ||||
| subtask3 | 8/8 | ||||||
| 7 | Elfogadva | 1ms | 512 KiB | ||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 500 KiB | ||||
| 10 | Elfogadva | 1ms | 500 KiB | ||||
| 11 | Elfogadva | 119ms | 30368 KiB | ||||
| 12 | Elfogadva | 120ms | 30580 KiB | ||||
| 13 | Elfogadva | 127ms | 30552 KiB | ||||
| 14 | Elfogadva | 207ms | 30448 KiB | ||||
| subtask4 | 12/12 | ||||||
| 15 | Elfogadva | 1ms | 512 KiB | ||||
| 16 | Elfogadva | 1ms | 316 KiB | ||||
| 17 | Elfogadva | 1ms | 500 KiB | ||||
| 18 | Elfogadva | 1ms | 500 KiB | ||||
| 19 | Elfogadva | 174ms | 64344 KiB | ||||
| 20 | Elfogadva | 204ms | 64564 KiB | ||||
| 21 | Elfogadva | 210ms | 64820 KiB | ||||
| 22 | Elfogadva | 287ms | 72756 KiB | ||||
| 23 | Elfogadva | 250ms | 73524 KiB | ||||
| 24 | Elfogadva | 201ms | 68916 KiB | ||||
| subtask5 | 17/17 | ||||||
| 25 | Elfogadva | 1ms | 512 KiB | ||||
| 26 | Elfogadva | 1ms | 316 KiB | ||||
| 27 | Elfogadva | 1ms | 500 KiB | ||||
| 28 | Elfogadva | 1ms | 500 KiB | ||||
| 29 | Elfogadva | 3ms | 564 KiB | ||||
| 30 | Elfogadva | 4ms | 1080 KiB | ||||
| 31 | Elfogadva | 4ms | 1080 KiB | ||||
| 32 | Elfogadva | 4ms | 820 KiB | ||||
| 33 | Elfogadva | 3ms | 820 KiB | ||||
| 34 | Elfogadva | 2ms | 564 KiB | ||||
| 35 | Elfogadva | 3ms | 564 KiB | ||||
| 36 | Elfogadva | 3ms | 820 KiB | ||||
| 37 | Elfogadva | 3ms | 828 KiB | ||||
| 38 | Elfogadva | 4ms | 792 KiB | ||||
| 39 | Elfogadva | 4ms | 1012 KiB | ||||
| 40 | Elfogadva | 3ms | 684 KiB | ||||
| 41 | Elfogadva | 3ms | 820 KiB | ||||
| subtask6 | 28/28 | ||||||
| 42 | Elfogadva | 277ms | 37932 KiB | ||||
| 43 | Elfogadva | 246ms | 41012 KiB | ||||
| 44 | Elfogadva | 221ms | 47820 KiB | ||||
| 45 | Elfogadva | 228ms | 56464 KiB | ||||
| 46 | Elfogadva | 250ms | 64052 KiB | ||||
| 47 | Elfogadva | 229ms | 70360 KiB | ||||
| 48 | Elfogadva | 247ms | 30376 KiB | ||||
| 49 | Elfogadva | 331ms | 72756 KiB | ||||
| 50 | Elfogadva | 246ms | 73520 KiB | ||||
| subtask7 | 30/30 | ||||||
| 51 | Elfogadva | 2ms | 316 KiB | ||||
| 52 | Elfogadva | 214ms | 39852 KiB | ||||
| 53 | Elfogadva | 1ms | 512 KiB | ||||
| 54 | Elfogadva | 1ms | 316 KiB | ||||
| 55 | Elfogadva | 1ms | 500 KiB | ||||
| 56 | Elfogadva | 1ms | 500 KiB | ||||
| 57 | Elfogadva | 119ms | 30368 KiB | ||||
| 58 | Elfogadva | 120ms | 30580 KiB | ||||
| 59 | Elfogadva | 127ms | 30552 KiB | ||||
| 60 | Elfogadva | 207ms | 30448 KiB | ||||
| 61 | Elfogadva | 174ms | 64344 KiB | ||||
| 62 | Elfogadva | 204ms | 64564 KiB | ||||
| 63 | Elfogadva | 210ms | 64820 KiB | ||||
| 64 | Elfogadva | 287ms | 72756 KiB | ||||
| 65 | Elfogadva | 250ms | 73524 KiB | ||||
| 66 | Elfogadva | 201ms | 68916 KiB | ||||
| 67 | Elfogadva | 3ms | 564 KiB | ||||
| 68 | Elfogadva | 4ms | 1080 KiB | ||||
| 69 | Elfogadva | 4ms | 1080 KiB | ||||
| 70 | Elfogadva | 4ms | 820 KiB | ||||
| 71 | Elfogadva | 3ms | 820 KiB | ||||
| 72 | Elfogadva | 2ms | 564 KiB | ||||
| 73 | Elfogadva | 3ms | 564 KiB | ||||
| 74 | Elfogadva | 3ms | 820 KiB | ||||
| 75 | Elfogadva | 3ms | 828 KiB | ||||
| 76 | Elfogadva | 4ms | 792 KiB | ||||
| 77 | Elfogadva | 4ms | 1012 KiB | ||||
| 78 | Elfogadva | 3ms | 684 KiB | ||||
| 79 | Elfogadva | 3ms | 820 KiB | ||||
| 80 | Elfogadva | 277ms | 37932 KiB | ||||
| 81 | Elfogadva | 246ms | 41012 KiB | ||||
| 82 | Elfogadva | 221ms | 47820 KiB | ||||
| 83 | Elfogadva | 228ms | 56464 KiB | ||||
| 84 | Elfogadva | 250ms | 64052 KiB | ||||
| 85 | Elfogadva | 229ms | 70360 KiB | ||||
| 86 | Elfogadva | 247ms | 30376 KiB | ||||
| 87 | Elfogadva | 331ms | 72756 KiB | ||||
| 88 | Elfogadva | 246ms | 73520 KiB | ||||
| 89 | Elfogadva | 328ms | 37000 KiB | ||||
| 90 | Elfogadva | 344ms | 37172 KiB | ||||
| 91 | Elfogadva | 414ms | 37248 KiB | ||||
| 92 | Elfogadva | 437ms | 37420 KiB | ||||
| 93 | Elfogadva | 284ms | 47412 KiB | ||||
| 94 | Elfogadva | 246ms | 55844 KiB | ||||
| 95 | Elfogadva | 323ms | 64340 KiB | ||||
| 96 | Elfogadva | 231ms | 40756 KiB | ||||
| 97 | Elfogadva | 202ms | 42172 KiB | ||||
| 98 | Elfogadva | 201ms | 45108 KiB | ||||
| 99 | Elfogadva | 247ms | 39732 KiB | ||||
| 100 | Elfogadva | 224ms | 44080 KiB | ||||
| 101 | Elfogadva | 211ms | 51852 KiB | ||||