UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#213144#2675. Road Reformwangyaxu123Compile Error//C++1.0kb2024-11-09 21:21:452024-11-09 23:20:14

answer

#include<iostream>
#include<stack>
#include<vector>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=4e5+10,mod=1e9+7,inf=1e9+7;
inline int read(){
    char c=getchar();int x=0,f=1;
    while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return x*f;
}
int n,m,a[N],k,fa[N],ans=0,mx=0;
struct mm{
	int x,y,k,c;
}e[N];
bool cmp(mm x,mm y){
	return x.k<y.k;
}
int find(int x){
	if(x==fa[x])
	return x;
	return fa[x]=find(fa[x]);
}
signed main(){
	n=read();
	m=read();
	k=read();
	for(int i=1;i<=n;i++)
	fa[i]=i;
	for(int i=1;i<=m;i++){
		e[i].x=read();
		e[i].y=read();
		e[i].k=read();
	}
	sort(e+1,e+m+1,cmp);
	int cnt=0;
	for(int i=1;i<=m;i++){
		int u=find(e[i].x),v=find(e[i].y);
		if(u==v)
		continue;
		fa[u]=v;

		mx=max(mx,e[i].k);
		if(mx>k)
		ans+=mx-k;
		cnt++;
		if(cnt==n-1)
		break;
	}
	if(mx<k){
		ans=inf;
		for(int i=1;i<=m;i++)
		ans=min(ans,abs(e[i].k-k));
	}
	cout<<ans;
    return 0;
}

详细

answer.code: In function 'int read()':
answer.code:10:20: error: 'getchar' was not declared in this scope
     char c=getchar();int x=0,f=1;\x0d
                    ^