Submission #168311

#TimeUsernameProblemLanguageResultExecution timeMemory
168311aydinenesBirokracija (COCI18_birokracija)C++11
70 / 100
77 ms7544 KiB
#include<bits/stdc++.h> #define mid(l,r) ((l+r)/2) using namespace std; const int N = 1e5+7; const int inf=1e9+7; int n; int a[N]; vector<int> g[N]; int ans[N]; void dfsa(int node, int p){ ans[node] = 1; for(int i = 0; i < g[node].size(); i++){ int x = g[node][i]; if(x == p) continue; dfsa(x, node); ans[node] += ans[x]; } } void dfsb(int node, int p){ for(int i = 0; i < g[node].size(); i++){ int x = g[node][i]; if(x == p) continue; dfsb(x, node); ans[node] += ans[x]; } } int main(){ cin >> n; for(int i = 2; i <= n; i++) cin >> a[i]; for(int i = 2; i <= n; i++){ g[i].push_back(a[i]); g[a[i]].push_back(i); } dfsa(1, 0); dfsb(1, 0); for(int i=1; i <= n; i++){ cout << ans[i] << " "; } }

Compilation message (stderr)

birokracija.cpp: In function 'void dfsa(int, int)':
birokracija.cpp:21:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[node].size(); i++){
                 ~~^~~~~~~~~~~~~~~~
birokracija.cpp: In function 'void dfsb(int, int)':
birokracija.cpp:30:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[node].size(); i++){
                 ~~^~~~~~~~~~~~~~~~
#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...