제출 #1168737

#제출 시각아이디문제언어결과실행 시간메모리
1168737apelpisiaBirokracija (COCI18_birokracija)C++20
70 / 100
106 ms16708 KiB
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define s second

using namespace std;

typedef pair<int, int> ii;

const int nx = 2e5+5;
int n, dp[nx], ast[nx];
vector<int> adj[nx];

void dfs(int now){
    ast[now] = 1;
    for(auto tid : adj[now]){
        dfs(tid);
        dp[now]+=dp[tid];
        ast[now]+=ast[tid];
    }
    dp[now]+=ast[now];
}

int main(){
    cin >> n;
    for(int i=2; i<=n; i++){
        int ip; cin >> ip;
        adj[ip].pb(i);
    }
    dfs(1);
    for(int i=1; i<=n; i++) cout << dp[i] << ' ';

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...