Submission #295024

#TimeUsernameProblemLanguageResultExecution timeMemory
295024thebesUntitled (POI11_ins)C++14
0 / 100
1737 ms92636 KiB
#include <bits/stdc++.h> using namespace std; const int MN = 1e6+5; int N, i, x, y, sz[MN], mx[MN]; vector<int> adj[MN], dis; long long ans[MN]; int dfs(int n,int p){ sz[n] = 1; for(auto v : adj[n]){ if(v==p) continue; sz[n] += dfs(v, n); mx[n] = max(mx[n], sz[v]); } return sz[n]; } void acc(int n,int p,int d){ dis.push_back(d); for(auto v : adj[n]){ if(v==p) continue; acc(v, n, d+1); } } void dfs2(int n,int p){ if(2*mx[n]<=N&&2*(N-sz[n])<=N){ dis.clear(); acc(n, 0, 0); sort(dis.begin(),dis.end()); for(auto v : dis) ans[n] += 2*v; ans[n] -= dis.back(); } else ans[n] = -1; for(auto v : adj[n]){ if(v==p) continue; dfs2(v, n); } } int main(){ scanf("%d",&N); for(i=1;i<N;i++){ scanf("%d%d",&x,&y); adj[x].push_back(y); adj[y].push_back(x); } dfs(1, 0); dfs2(1, 0); for(i=1;i<=N;i++) printf("%lld\n",ans[i]); return 0; }

Compilation message (stderr)

ins.cpp: In function 'int main()':
ins.cpp:43:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   43 |     scanf("%d",&N);
      |     ~~~~~^~~~~~~~~
ins.cpp:45:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   45 |         scanf("%d%d",&x,&y);
      |         ~~~~~^~~~~~~~~~~~~~
#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...