Submission #1143284

#TimeUsernameProblemLanguageResultExecution timeMemory
1143284adimiclaus15Triumphal arch (POI13_luk)C++20
0 / 100
169 ms18424 KiB
#pragma GCC optimize("O3,unroll-loops") #include <bits/stdc++.h> using namespace std; const int NMAX = 3e5; vector<int>G[NMAX+5]; int viz[NMAX+5]; int cntniv[NMAX+5]; void DFS(int nod,int niv){ viz[nod]=1;cntniv[niv]++; for(int i=0;i<G[nod].size();i++){ if(viz[G[nod][i]]==0){ DFS(G[nod][i],niv+1); } } } int main() { int n,a,b;cin>>n; for(int i=1;i<n;i++){ cin>>a>>b; G[a].push_back(b);G[b].push_back(a); } if(n==1){cout<<"0"<<'\n';return 0;} DFS(1,1); int st=0,dr=n,mij,val=0; while(dr>=st){ mij=(st+dr)/2; int sum=0,nrpus=0,ok=0; for(int i=2;i<=n;i++){ sum+=cntniv[i];nrpus+=mij; if(sum>nrpus){ok=1;break;} } if(ok==0){ val=mij;dr=mij-1; } else{st=mij+1;} } cout<<val<<'\n'; return 0; }
#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...