Pagini recente » Cod sursa (job #147787) | Istoria paginii jc2020/solutii/nambartiori | Cod sursa (job #651187) | Monitorul de evaluare | Cod sursa (job #1260449)
#include <cstdio>
#include<algorithm>
int i,n,m,q,qq,nr,v[400004],l,s,w,ww[200005],www[200005];
using namespace std;
struct andreea
{
int n1,n2,val;
}a[200005];
bool cmp(andreea a, andreea b)
{
if(a.val>b.val)return 0;
return 1;
}
int main()
{
freopen("apm.in","r",stdin);
freopen("apm.out","w",stdout);
scanf("%d%d",&nr,&n);
for(i=1;i<=n;i++)
{
scanf("%d%d%d",&a[i].n1,&a[i].n2,&a[i].val);
}
sort(a+1,a+n+1,cmp);
//pana aici e bine
for(i=1;i<=nr;i++)
{
v[i]=i;
}
for(l=1;l<=n;l++)
{
if(v[a[l].n1]!=v[a[l].n2])
{
q=v[a[l].n1];
qq=v[a[l].n2];
for(i=1;i<=nr;i++)
{
if(v[i]==qq)v[i]=q;
}
s=s+a[l].val;
w++;
ww[w]=a[l].n1;
www[w]=a[l].n2;
}
}
printf("%d\n%d\n",s,w);
for(i=1;i<=w;i++)
{
printf("%d %d\n",www[i],ww[i]);
}
return 0;
}