# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1140236 | mnbvcxz123 | Birokracija (COCI18_birokracija) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
constexpr int N=2e5+5;
vector<int>g[N];
int res[N],sz[N];
voi dfs(int v){
sz[v]=1;
for(const int&i:g[v]){
dfs(i);
res[v]+=res[i];
sz[v]+=sz[i];
}
res[v]+=sz[v];
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin>>n;
for(int i=2,x;i<=n;++i){
cin>>x;
g[x].push_back(i);
}
dfs(1);
for(int i=1;i<=n;++i)
cout<<res[i]<<' ';
}