#include<iostream>
#include<algorithm>
#include<cstring>
#define max 500
int a[max][max];
int vis[max],dist[max];
long long sum=0;
int max1=0;
int n,m;
using namespace std;
int prim(int pos)
{
dist[pos]=0;
for(int i=0;i<n;i++)
{
int cur=-1;
for(int j=1;j<=n;j++)
{
if(!vis[j]&&(cur==-1||dist[j]<dist[cur]))
{
cur=j;
}
}
if(dist[cur]>=0x3f3f3f3f)
{
return -1;
}
if(dist[cur]>=max1)
max1=dist[cur];
vis[cur]=1;
for(int k=1;k<=n;k++)
{
if(!vis[k])
{
dist[k]=min(dist[k],a[cur][k]);
}
}
}
return max1;
}
int main()
{
memset(a,0x3f,sizeof(a));
memset(vis,0,sizeof(vis));
memset(dist,0x3f,sizeof(dist));
cin>>n>>m;
int x,y,w;
for(int i=1;i<=m;i++)
{
cin>>x>>y>>w;
a[x][y]=min(a[x][y],w);
a[y][x]=a[x][y];
}
int v=prim(x);
if(v==-1)
cout<<"-1";
else
cout<<v;
return 0;
}
大佬们真不知道错那了