#include <bits/stdc++.h>
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
const ll INF = (1LL << 62);
ll dfs(ll vertex, ll depth, ll &ans1, vector<vector<ll>> &ds, const vector<vector<ll>> &tree) {
ll cc;
cc = 1;
ds[depth].push_back(vertex);
for(const auto &x : tree[vertex])
cc += dfs(x, depth + 1, ans1, ds, tree);
ans1 = min(ans1, depth + cc);
return cc;
}
int main() {
FastIO;
ll i, v, ans1, N;
cin >> N;
vector<vector<ll>> tree(N + 1);
for(i = 2; i <= N; i++) {
cin >> v;
tree[v].push_back(i);
}
ans1 = INF;
vector<vector<ll>> ds(N);
dfs(1, 0, ans1, ds, tree);
vector<ll> ans2(N + 1);
for(i = 0; i < N; i++) {
for(const auto &x : ds[i])
ans2[x] = max(ans1 - i, 1LL);
}
cout << ans1 << '\n';
for(i = 1; i <= N; i++)
cout << ans2[i] << ' ';
cout << '\n';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1820 KiB | |||
2 | Elfogadva | 0/0 | 6ms | 3936 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2268 KiB | |||
4 | Elfogadva | 4/4 | 3ms | 2484 KiB | |||
5 | Elfogadva | 5/5 | 105ms | 87088 KiB | |||
6 | Elfogadva | 2/2 | 111ms | 37964 KiB | |||
7 | Elfogadva | 3/3 | 108ms | 38244 KiB | |||
8 | Elfogadva | 2/2 | 108ms | 37276 KiB | |||
9 | Elfogadva | 2/2 | 89ms | 36456 KiB | |||
10 | Elfogadva | 2/2 | 87ms | 37240 KiB | |||
11 | Elfogadva | 2/2 | 104ms | 39364 KiB | |||
12 | Elfogadva | 2/2 | 98ms | 40440 KiB | |||
13 | Elfogadva | 2/2 | 116ms | 41056 KiB | |||
14 | Elfogadva | 2/2 | 104ms | 41476 KiB | |||
15 | Elfogadva | 2/2 | 104ms | 42300 KiB | |||
16 | Elfogadva | 2/2 | 114ms | 42432 KiB | |||
17 | Elfogadva | 2/2 | 104ms | 42740 KiB | |||
18 | Elfogadva | 2/2 | 104ms | 43176 KiB | |||
19 | Elfogadva | 2/2 | 104ms | 43128 KiB | |||
20 | Elfogadva | 2/2 | 122ms | 43552 KiB | |||
21 | Elfogadva | 2/2 | 123ms | 44108 KiB | |||
22 | Elfogadva | 2/2 | 150ms | 45172 KiB | |||
23 | Elfogadva | 2/2 | 128ms | 53636 KiB | |||
24 | Elfogadva | 3/3 | 150ms | 64012 KiB |