评测记录
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e3+5,maxm=1e5+5;
struct node{
int x,y,t;
}a[maxm];
int n,m,prt[maxn],num,ans;
bool cmp(node x,node y){
return x.t<y.t;
}
int Getfather(int u){
if(u==prt[u]) return u;
return prt[u]=Getfather(prt[u]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++) cin>>a[i].x>>a[i].y>>a[i].t;
sort(a+1,a+1+m,cmp);
for(int i=1;i<=n;i++) prt[i]=i;
for(int i=1;i<=m;i++){
int x=a[i].x,y=a[i].y;
if(Getfather(x)!=Getfather(y)){
prt[x]=y;
num++;
ans=a[i].t;
}
}
if(num!=n-1) cout<<-1;
else cout<<ans;
return 0;
}