This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define inf INT_MAX
#define sc(a) scanf("%d",&a)
#define scc(a,b) scanf("%d %d",&a,&b)
#define sccc(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define pf(a) printf("%d",a)
#define pff(a,b) printf("%d %d",a,b)
#define pfff(a,b,c) printf("%d %d %d",a,b,c)
#define pb(a) push_back(a)
#define em empty()
#define fr front()
#define cl clear()
#define sz size()
#define mp(a,b) make_pair(a,b)
#define fri(b) freopen(b,"r",stdin)
#define fro(b) freopen(b,"w",stdout)
/*
ID: uslusam1
TASK: test
LANG: C++
*/
using namespace std;
//int visit[200013];
long long bas[200013];
long long is[200013];
long long par[200013];
vector< int > tut;
vector< vector<long long> > grp;
void dfs(int x){
tut.pb(x);
for(int i=0;i<grp[x].size();i++){
par[grp[x][i]]=x;
dfs(grp[x][i]);
}
return;
}
int main(){
long long n;
cin>>n;
for(int i=0;i<=n;i++){
vector<long long> aaa;
grp.pb(aaa);
}
for(long long i=2;i<=n;i++){
int k;
sc(k);
grp[k].pb(i);
}
dfs(1);
for(int i=tut.size()-1;i>0;i--){
int k=tut[i];
bas[k]++;
is[k]++;
is[par[k]]+=is[k];
bas[par[k]]+=bas[k]+is[k];
}
bas[1]++;
for(int i=1;i<=n;i++){
cout<<bas[i]<<" ";
}
return 0;
}
Compilation message (stderr)
birokracija.cpp: In function 'void dfs(int)':
birokracija.cpp:33:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0;i<grp[x].size();i++){
~^~~~~~~~~~~~~~
birokracija.cpp: In function 'int main()':
birokracija.cpp:3:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
#define sc(a) scanf("%d",&a)
~~~~~^~~~~~~~~
birokracija.cpp:51:3: note: in expansion of macro 'sc'
sc(k);
^~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |