Submission #1014146

#TimeUsernameProblemLanguageResultExecution timeMemory
1014146vjudge1Triumphal arch (POI13_luk)C++17
100 / 100
221 ms23632 KiB
#include <bits/stdc++.h> using namespace std; #define endl "\n" #define int long long int n,dp[300001],k; vector <int> v[300001]; int dfs(int i,int last){ int sum=0; for(int j:v[i]) if(j!=last) sum+=dfs(j,i)+1; return max(0ll,sum-k); } int calc(int num){ k=num; if(dfs(1,0)==0) return 1; else return 0; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n; for(int i=0;i<n-1;i++){ int a,b; cin>>a>>b; v[a].push_back(b); v[b].push_back(a); } int l=0,r=n,ans=1e9; while(l<=r){ int mid=(l+r)/2; if(calc(mid)==1){ ans=mid; r=mid-1; } else l=mid+1; } cout<<ans<<endl; 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...