Cod sursa(job #2941915)

Utilizator lucametehauDart Monkey lucametehau Data 18 noiembrie 2022 15:44:01
Problema Arbore partial de cost minim Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include<bits/stdc++.h>
#define v return
std::ifstream r("apm.in");std::ofstream w("apm.out");
struct s{int x,y,z;}e[400000];
bool c(s a, s b){v a.z<b.z;}
int m,k,i,z,t[200000],x,y;
int f(int x){if(t[x]==x)v x;v t[x]=f(t[x]);}
int main(){
r>>m>>m;
for(i=0;i<m;i++)r>>e[i].x>>e[i].y>>e[i].z,t[i]=i;
std::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,e[k++]=e[i];}
w<<z<<"\n"<<k<<"\n";
for(i=0;i<k;i++)w<<e[i].x<<" "<<e[i].y<<"\n";
v 0;}