Pagini recente » Cod sursa (job #1152288) | Cod sursa (job #2097380) | Cod sursa (job #1127204) | Cod sursa (job #590) | Cod sursa (job #2941896)
#include <bits/stdc++.h>
#define v return
using namespace std;
ifstream r("apm.in");
ofstream w("apm.out");
const int N=400005;
struct s{int x,y,z;}e[N];
bool c(s a, s b){v a.z<b.z;}
int n,m,k,i,z,t[N],x,y;
pair<int,int>a[N];
int f(int x){if(t[x]==x)v x;v t[x]=f(t[x]);}
int main(){
r>>n>>m;
for(i=0;i<m;i++)r>>e[i].x>>e[i].y>>e[i].z;
for(i=0;i<n;i++)t[i]=i;
sort(e,e+m,c);
for(i=0;i<m;i++){x=f(e[i].x),y=f(e[i].y);if(x!=y)z+=e[i].z,t[x]=y,a[++k]={e[i].x,e[i].y};}
w<<z<<"\n"<<k<<"\n";
for(i=1;i<=k;i++)w<<a[i].first<<" "<<a[i].second<<"\n";
v 0;}