Submission #82712

#TimeUsernameProblemLanguageResultExecution timeMemory
82712farukkastamonudaTriumphal arch (POI13_luk)C++14
100 / 100
1090 ms47068 KiB
#include <bits/stdc++.h> #define fi first #define se second #define lo long long #define inf 1000000009 #define md 1000000007 #define li 300005 #define mp make_pair #define pb push_back using namespace std; int n,a,b,sz[li],sz2[li]; vector<int> v[li]; lo int dfs(int node,int ata,int val){ lo int D=0; for(int i=0;i<(int)v[node].size();i++){ int go=v[node][i]; if(go==ata) continue; D+=dfs(go,node,val)+1; } return max(0LL,D-val); } bool ok(int val){ return (dfs(1,-1,val)==0); } int main(){ scanf("%d",&n); for(int i=1;i<n;i++){ scanf("%d %d",&a,&b); v[a].pb(b); v[b].pb(a); } int bas=0,son=n-1; while(bas<=son){ int mid=(bas+son)/2; if(ok(mid)) son=mid-1; else bas=mid+1; } printf("%d\n",bas); return 0; }

Compilation message (stderr)

luk.cpp: In function 'int main()':
luk.cpp:26:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
luk.cpp:28:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d",&a,&b);
   ~~~~~^~~~~~~~~~~~~~~
#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...