在这里切水题的时候莫名其妙MLE了,让机房大佬帮我看过都表示逆天,有没有好心人帮忙看一看这个是什么原因?
#include<bits/stdc++.h>
using namespace std;
int n,m,k,b,c,ans=0,f[10001];
struct o{
int a,b,z;
}a[10001];
bool cmp(o iii,o jjj){
return iii.z<jjj.z;
}
int fi(int x){
if(x==f[x]) return x;
f[x]=fi(x);
return f[x];
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=m;i++) cin>>a[i].a>>a[i].b>>a[i].z;
sort(a+1,a+m+1,cmp);
for(int i=1;i<=n;i++) f[i]=i;
if(n==k){cout<<ans<<endl;return 0;}
for(int i=1;i<=m;i++){
if(fi(a[i].a)!=fi(a[i].b)){
f[a[i].a]=f[a[i].b],ans+=a[i].z,n--;
if(n==k){cout<<ans<<endl;return 0;}
}
}
cout<<"No Answer";
return 0;
}