Pagini recente » Cod sursa (job #300922) | Cod sursa (job #555278) | Cod sursa (job #749013) | Cod sursa (job #1214313) | Cod sursa (job #630301)
Cod sursa(job #630301)
#include <fstream>
#include <algorithm>
#include <math.h>
using namespace std;
int o[100001],x[100001][3],cst[100001],muc[100001],nrmuc,mc,k;
bool srt(int i, int j) {return(cst[i]<cst[j]); }
int main() {
int n,m,i,j,mn,mx;
mx=-2000000000;
mn=2000000000;
ifstream f("apm.in");
ofstream g("apm.out");
// fscanf(f,"%d%d",&n,&m);
f>>n>>m;
for (i=1; i<=m; i++) {
f>>x[i][1]>>x[i][2]>>cst[i];
o[i]=i;
}
sort(o+1,o+m+1,srt);
mc=0;
while (nrmuc<n-1) {
mc++;
if (x[o[mc]][1]!=x[o[mc]][2]) {
nrmuc++;
muc[nrmuc]=o[mc];
mn=x[o[mc]][1]<x[o[mc]][2]?x[o[mc]][1]:x[o[mc]][2];
/* mn=min(x[o[mc]][1],x[o[mc]][2]);
mx=max(x[o[mc]][1],x[o[mc]][2]);*/
mx= x[o[mc]][1]>x[o[mc]][2]?x[o[mc]][1]:x[o[mc]][2];
for (i=1; i<=n; i++)
if (o[i]==mx)
o[i]=mn;
}
}
for (i=1; i<=nrmuc; i++)
k+=cst[muc[i]];
g<<k<<'\n';
g<<nrmuc;
f.close();
g.close();
return 0;
}