Cod sursa(job #2941929)
Utilizator | Data | 18 noiembrie 2022 15:57:53 | |
---|---|---|---|
Problema | Arbore partial de cost minim | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 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[1<<20];int c(s a,s b){v a.z<b.z;}int m,k,i,j,z,t[1<<20],x,y;int f(int x){v t[x]^x?t[x]=f(t[x]):x;}int main(){r>>m>>m;for(;i<m;)r>>e[i].x>>e[i].y>>e[i].z,t[i]=i++;std::sort(e,e+m,c);for(;j<m;j++){x=f(e[j].x),y=f(e[j].y);if(x^y)z+=e[j].z,t[x]=y,e[k++]=e[j];}w<<z<<" "<<k<<" ";while(k--)w<<e[k].x<<" "<<e[k].y<<" ";}