Pagini recente » Cod sursa (job #2748461) | Cod sursa (job #1224711) | Cod sursa (job #2083402) | Cod sursa (job #552260) | Cod sursa (job #2677398)
#include <bits/stdc++.h>
#define NM 200001
#define MM 400001
using namespace std;
ifstream fin ("apm.in");
ofstream fout ("apm.out");
struct muchie
{
int x,y,c,ok;
}v[MM]
;
bool comp(muchie u, muchie v)
{
if(u.c<v.c)
return 1;
return 0;
}
int n,m,i,z[NM];
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)
fin>>v[i].x>>v[i].y>>v[i].c;
int j;
sort(v+1, v+m+1, comp);
for(i=1;i<=n;i++)
z[i]=i;
int ct=0;int nr=0; i=1;
int x,y,u,w;
while(nr<n-1)
{
x=v[i].x;
y=v[i].y;
u=z[x]; w=z[y];
if(u!=w)
{
nr++;
v[i].ok=1;
ct=ct+v[i].c;
for(j=1;j<=n;j++)
if(z[j]==w)
z[j]=u;
}
i++;
}
fout<<ct<<'\n'<<n-1<<'\n';
for(i=1;i<=m;i++)
if(v[i].ok==1)
fout << v[i].x<<' '<<v[i].y<<'\n';
return 0;
}