#include<bits/stdc++.h>
using namespace std;
int cnt,fst[50005],nxt[100005],to[100005],w[100005];
int n,m,l=2147400000,r,mid,ans,f[50005],g[50005];
multiset <int> s;
multiset <int>::iterator it;
void AddEdge(int u,int v,int c)
{
to[++cnt]=v;
nxt[cnt]=fst[u];
fst[u]=cnt;
w[cnt]=c;
}
void Dfs(int u,int faz)
{
for(int i=fst[u];i;i=nxt[i])
{
int v=to[i];
if(v==faz) continue;
Dfs(v,u);
f[u]+=f[v];
}
for(int i=fst[u];i;i=nxt[i])
{
int v=to[i];
if(v==faz) continue;
s.insert(g[v]+w[i]);
}
while(!s.empty())
{
int now=*s.rbegin();
if(now>=mid)
{
it=s.find(now);
f[u]++;
s.erase(it);
}
else break;
}
while(!s.empty())
{
int now=*s.begin();
s.erase(s.begin());
it=s.lower_bound(mid-now);
if(it==s.end()) g[u]=now;
else
{
f[u]++;
s.erase(it);
}
}
}
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<n;i++)
{
int x,y,z;
scanf("%d %d %d",&x,&y,&z);
AddEdge(x,y,z);
AddEdge(y,x,z);
l=min(l,z);
r+=z;
}
while(l<=r)
{
mid=l+r>>1;
memset(f,0,sizeof(f));
memset(g,0,sizeof(g));
Dfs(1,0);
if(f[1]>=m)
{
ans=max(ans,mid);
l=mid+1;
}
else r=mid-1;
}
printf("%d",ans-1);
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 79.02 us | 444 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #2 | 92.45 us | 444 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #3 | 110.52 us | 448 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #4 | 221.65 us | 448 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #5 | 84.028 ms | 573 MB + 980 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #6 | 260.04 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #7 | 243.74 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #8 | 87.376 ms | 573 MB + 980 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #9 | 85.752 ms | 573 MB + 980 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #10 | 89.63 ms | 574 MB + 336 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #11 | 268.12 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #12 | 257.99 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #13 | 257.54 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #14 | 85.938 ms | 573 MB + 980 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #15 | 84.195 ms | 573 MB + 984 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #16 | 79.277 ms | 573 MB + 984 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #17 | 258.14 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #18 | 241.38 us | 464 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #19 | 78.957 ms | 573 MB + 984 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #20 | 81.759 ms | 573 MB + 984 KB | Runtime Error | Score: 0 | 显示更多 |