Submission #77246

#TimeUsernameProblemLanguageResultExecution timeMemory
77246farukkastamonudaUntitled (POI11_dyn)C++14
100 / 100
1713 ms30468 KiB
#include <bits/stdc++.h> #define li 300005 #define mid (bas+son)/2 using namespace std; int n, m, ans, A[li], x, y, say; vector<int> vv[li]; int solve(int node, int ata, int sayi){ int t = 0,v = 0; for(int i = 0;i < (int)vv[node].size();i++){ int go = vv[node][i]; if(ata == go) continue; int u = solve(go,node,sayi); if(u == 0) continue; if(u > 0) v = max(v,u); else t = min(t,u); } if(abs(t) >= sayi){ ans++; return sayi; } if(t == 0 && v == 0) return -A[node]; if(v > abs(t)) return v - 1; return t - 1; } int can(int k){ ans = 0; if(solve(1,0,k) < 0) ans++; if(ans <= m) return 1; return 0; } int main(){ scanf("%d %d",&n,&m); for(int i=1;i <= n;i++) {scanf("%d",&A[i]);say+=A[i];} for(int i=1;i < n;i++){ scanf("%d %d",&x,&y); vv[x].push_back(y); vv[y].push_back(x); } if(say <= m){ printf("0\n"); return 0; } int bas = 1,son = n; while(bas <= son){ if(can(mid) == 1) son = mid - 1; else bas = mid + 1; } printf("%d\n",bas); return 0; }

Compilation message (stderr)

dyn.cpp: In function 'int main()':
dyn.cpp:32:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~~
dyn.cpp:33:35: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=1;i <= n;i++) {scanf("%d",&A[i]);say+=A[i];}
                              ~~~~~^~~~~~~~~~~~
dyn.cpp:35:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         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...