Pagini recente » Cod sursa (job #162654) | Cod sursa (job #1758387) | Cod sursa (job #836824) | Cod sursa (job #25829) | Cod sursa (job #743835)
Cod sursa(job #743835)
var x,y,z:array[1..400000] of integer;
n,m,i,j,k,min,cost:longint;
t:array[1..200000] of longint;
b:array[1..200000] of boolean;
bi,bo:array[1..1 shl 17] of char;
procedure initiere;
Begin
assign(input,'apm.in');
settextbuf(input,bi);
reset(input);
readln(n,m);
for i:=1 to m do
readln(x[i],y[i],z[i]);
close(input);
for i:=1 to n do
b[i]:=true;
End;
BEGIN
initiere;
cost:=0;
b[1]:=false;
for j:=1 to n-1 do
begin
min:=maxint;
for i:=1 to m do
if (not b[x[i]]) and b[y[i]] then
if z[i]<min then
begin
k:=i;
min:=z[i]
end;
b[y[k]]:=false;
cost:=cost+z[k];
t[j]:=k;
end;
assign(output,'apm.out');
settextbuf(output,bo);
rewrite(output);
writeln(cost);
writeln(n-1);
for i:=1 to n-1 do
writeln(x[t[i]],' ',y[t[i]]);
close(output);
END.