program p1765; var cost:array[1..50,1..50]of longint; mincost,closed:array[1..50]of longint; min,k,i,j,n,x,y,sum:longint; begin readln(n); for i:=1 to n do for j:=1 to n do begin read(cost[i,j]); if(i<>j) and(cost[i,j]=0)then cost[i,j]:=maxint; end; sum:=0; for i:=1 to n do begin mincost[i]:=cost[1,i]; closed[i]:=1; end; for i:=2 to n do begin min:=maxint; for j:=1 to n do if(mincost[j]<min)and(mincost[j]<>0)then begin min:=mincost[j]; k:=j; end; sum:=sum+min; mincost[k]:=0; for j:=1 to n do if(mincost[j]>cost[k,j])and(mincost[j]<>0) then begin mincost[j]:=cost[k,j]; closed[j]:=k; end; end; writeln(sum); end. /************************************************************** Problem: 2162 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/