using namespace std;
int n,m,x,y,z,f[101][101];
int dis[101];
bool vis[101];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>x>>y>>z;
f[x][y]=f[y][x]=z;
dis[1]=0;
for(int i=1;i<=n-1;i++){
int k=1,minn=0X7fffffff;
for(int j=1;j<=n;j++){
if(vis[j]!=0&&dis[j]<minn){
minn=dis[j];
k=j;
}
}
vis[k]=1;
for(int j=1;j<=n;j++)
if(dis[k]+f[k][j]<dis[j])
dis[j]=dis[k]+f[k][j];
}
int mmax=0;
for(int i=1;i<=n-1;i++){
if(dis[i]>mmax) mmax=dis[i];
if(dis[i]==0X7fffffff){
cout<<"-1";
return 0;
}
}
cout<<mmax;
return 0;
}
题目在主页