# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
85829 | memetkagan44 | Untitled (POI11_dyn) | C++11 | 1611 ms | 66560 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
int n,m,cnt,ans,ar[300005],x,y;
vector<int> v[300005];
int solve(int yer,int dad,int say){
int t=0,q=0;
for(int i=0;i<v[yer].size();i++){
int go=v[yer][i];
if(dad==go)
continue;
int u=solve(go,yer,say);
if(u==0)
continue;
if(u>0)
q=max(q,u);
else
t=min(t,u);
}
if(abs(t)>=say){
ans++;
return say;
}
if(t==0 && q==0)
return (-1)*ar[yer];
if(q>abs(t))
return q-1;
return t-1;
}
int ctr(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",&ar[i]);
cnt+=ar[i];
}
for(int i=1;i<n;i++){
scanf("%d %d",&x,&y);
v[x].push_back(y);
v[y].push_back(x);
}
if(cnt<=m){
printf("0\n");
return 0;
}
int l=1,r=n;
while(l<=r){
int mid=(l+r)/2;
if(ctr(mid))
r=mid-1;
else
l=mid+1;
}
printf("%d\n",l);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |