Submission #1013788

#TimeUsernameProblemLanguageResultExecution timeMemory
1013788vjudge1Triumphal arch (POI13_luk)C++17
0 / 100
78 ms19680 KiB
//B - Triumphal arch #include <bits/stdc++.h> #define endl '\n' #define mod 1000000007 using namespace std; vector<vector<int>> v(300003); int depth[300003], n; bool vis[300003]; void dfs(int x, int dep=0) { depth[dep]++; vis[x]=1; for(int i=0; i<v[x].size(); i++) { int y=v[x][i]; if(!vis[y]) dfs(y, dep+1); } } int check(int x) { int y=0; for(int i=1; i<=n; i++) { y+=x; y-=depth[i]; if(y<0) { y*=-1; x+=y; y=0; } } return x; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int ans=0, num=0, nu=0; cin>>n; for(int i=1; i<n; i++) { int a,b; cin>>a>>b; v[a].push_back(b); v[b].push_back(a); } dfs(1); vector<int> deps; for(int i=1; i<=n; i++) { deps.push_back(depth[i]); num+=depth[i]; if(depth[i]>0) nu++; } sort(deps.begin(), deps.end()); reverse(deps.begin(), deps.end()); ans=check(num/nu); cout<<ans<<endl; return 0; }

Compilation message (stderr)

luk.cpp: In function 'void dfs(int, int)':
luk.cpp:16:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i=0; i<v[x].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...