Cod sursa(job #67566)

Utilizator petrePajarcu Alexandru-Petrisor petre Data 25 iunie 2007 11:49:07
Problema Sate Scor 30
Compilator fpc Status done
Runda preONI 2007, Runda Finala, Clasa a 10-a Marime 1.29 kb
const inf=maxlongint div  4;
var a,b:array[0..30000] of longint;
sd,min,x,y,n,i,j,k,l,m,max:longint;
begin
assign(input,'sate.in');
assign(output,'sate.out');
reset(input);
rewrite(output);
readln(n,m,x,y);
fillchar(a,n+1,0);
fillchar(b,n+1,0);
for i:=1 to m do
begin
read(k,l,min);
if a[l]-a[k]<>min then if a[l]-min>a[k] then begin
                                                a[k]:=a[l]-min;
                                                b[k]:=b[l];
                                             end
                                        else begin
                        a[l]:=a[k]+min;
                        b[l]:=k;
                        end;
end;
for sd:=1 to 12 do
begin
close(input);
reset(input);
readln(n,m,x,y);
for i:=1 to m do
begin
read(k,l,min);
if a[l]-a[k]<>min then if a[l]-min>a[k] then begin
                                                a[k]:=a[l]-min;
                                                b[k]:=b[l];
                                             end
                                        else begin
                        a[l]:=a[k]+min;
                        b[l]:=k;
                        end;
end;
if a[y]-a[x]>max then max:=a[y]-a[x]
                else break;
end;
writeln(max);
close(input);
close(output);
end.