提交记录 9964


用户 题目 状态 得分 用时 内存 语言 代码长度
Wallbreaker5th noip18c. 【NOIP2018】赛道修建 Wrong Answer 0 103.86 us 820 KB C++ 1.41 KB
提交时间 评测时间
2019-07-31 17:09:13 2020-08-01 01:59:44
#include<bits/stdc++.h>
using namespace std;
inline int getint(){
	int ans=0;
	char c=getchar();
	while(c>'0'||c>'9'){
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		ans=ans*10+c-'0';
		c=getchar();
	}
	return ans;
}
const int N=100010,M=N<<1;

struct bian{
	int l,e,n;
};
bian b[M];
int s[N],tot=0;
inline void add(int x,int y,int z){
	tot++;
	b[tot].l=z;
	b[tot].e=y;
	b[tot].n=s[x];
	s[x]=tot;
}

long long maxson[N];
int cnt=0,mid=0;
void ss(int x,int fa){
	//cout<<">>>"<<x<<endl;
	for(int i=s[x];i;i=b[i].n){
		if(b[i].e==fa)continue;
		ss(b[i].e,x);
	}
	multiset<long long> sons;
	for(int i=s[x];i;i=b[i].n){
		if(b[i].e==fa)continue;
		sons.insert(maxson[b[i].e]+b[i].l);
	}
	multiset<long long>::reverse_iterator it=sons.rbegin();
	while(sons.size()){
		if(*it>=mid){
			cnt++;
			sons.erase(sons.find(*it));
		}else break;
	}
	while(sons.size()){
		int t=*sons.begin();
		sons.erase(sons.begin());
		multiset<long long>::iterator itt=sons.lower_bound(mid-t);
		if(itt==sons.end())maxson[x]=t;
		else cnt++,sons.erase(itt);
	}
	//cout<<">> "<<x<<" "<<maxson[x]<<endl;
}
int main(){
	int n=getint(),m=getint();
	long long sum=0;
	for(int i=0;i<n-1;i++){
		int x=getint(),y=getint(),z=getint();
		add(x,y,z);
		add(y,x,z);
		sum+=z;
	}
	long long l=0,r=sum/m+1;
	while(l<r){
		mid=(l+r+1)>>1;
		cnt=0;
		memset(maxson,0,sizeof(maxson));
		ss(2,0);
		if(cnt>=m)l=mid;
		else r=mid-1;
		//cout<<"---"<<mid<<"---"<<endl;
	}
	cout<<l;
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #196.02 us820 KBWrong AnswerScore: 0

Testcase #2103.86 us820 KBWrong AnswerScore: 0

Testcase #3103.86 us820 KBWrong AnswerScore: 0

Testcase #496.97 us820 KBWrong AnswerScore: 0

Testcase #598.35 us820 KBWrong AnswerScore: 0

Testcase #695.68 us820 KBWrong AnswerScore: 0

Testcase #795.81 us820 KBWrong AnswerScore: 0

Testcase #896.12 us820 KBWrong AnswerScore: 0

Testcase #996.49 us820 KBWrong AnswerScore: 0

Testcase #1096.25 us820 KBWrong AnswerScore: 0

Testcase #1196.33 us820 KBWrong AnswerScore: 0

Testcase #1295.92 us820 KBWrong AnswerScore: 0

Testcase #1395.92 us820 KBWrong AnswerScore: 0

Testcase #1495.56 us820 KBWrong AnswerScore: 0

Testcase #1595.73 us820 KBWrong AnswerScore: 0

Testcase #1696.38 us820 KBWrong AnswerScore: 0

Testcase #1796.75 us820 KBWrong AnswerScore: 0

Testcase #1895.52 us820 KBWrong AnswerScore: 0

Testcase #1996.08 us820 KBWrong AnswerScore: 0

Testcase #2096.23 us820 KBWrong AnswerScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-30 10:13:32 | Loaded in 2 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠