Submission #649862

#TimeUsernameProblemLanguageResultExecution timeMemory
649862inksamuraiBirokracija (COCI18_birokracija)C++17
100 / 100
134 ms26016 KiB
#include <bits/stdc++.h> #define int ll using namespace std; #define rep(i,n) for(int i=0;i<n;i++) #define rng(i,c,n) for(int i=c;i<n;i++) #define per(i,n) for(int i=n-1;i>=0;i--) #define fi first #define se second #define pb push_back #define sz(a) (int)a.size() #define vec(...) vector<__VA_ARGS__> #define _3yqVz8E ios::sync_with_stdio(0),cin.tie(0) typedef long long ll; using pii=pair<int,int>; using vi=vector<int>; void print(){cout<<'\n';} template<class h,class...t> void print(const h&v,const t&...u){cout<<v<<' ',print(u...);} // e signed main(){ _3yqVz8E; int n;cin>>n; vec(vi) adj(n); rng(i,1,n){ int _par; cin>>_par; _par-=1; adj[_par].pb(i); adj[i].pb(_par); } vi pns(n); auto dfs=[&](auto self,int v,int par)->int{ int now=0; for(auto u:adj[v]){ if(u==par) continue; now+=self(self,u,v); pns[v]+=pns[u]; } pns[v]+=now+1; return now+1; }; dfs(dfs,0,-1); rep(i,n)cout<<pns[i]<<" "; print(); }
#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...