rt,MLE 60 分。
请问如何优化。。。
蒟蒻第一次被MLE卡住。。。
谢谢谢谢
#include <bits/stdc++.h>
#define MAXN 100005
using namespace std;
int fat[20005*2];
struct EDGE
{
int from,to,val;
bool operator < (const EDGE &x) const
{return val>x.val;}
} e[MAXN];
int Find(int x)
{
if(x!=fat[x]) return fat[x]=Find(fat[x]);
else return fat[x];
}
int main()
{
int n,m; scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i){fat[i]=i;fat[i+n]=i+n;}
for(int i=1;i<=m;++i) scanf("%d%d%d",&e[i].from,&e[i].to,&e[i].val);
sort(e+1,e+1+m);
for(int i=1;i<=m;++i)
{
int u=Find(e[i].from);
int v=Find(e[i].to);
if(u==v)
{
printf("%d",e[i].val);
return 0;
}
fat[u]=fat[ e[i].to+n ];
fat[v]=fat[ e[i].from+n ];
}
printf("0");
return 0;
}