Pagini recente » Borderou de evaluare (job #1258758) | Borderou de evaluare (job #183934) | Borderou de evaluare (job #2014595) | Borderou de evaluare (job #1278711) | Cod sursa (job #796922)
Cod sursa(job #796922)
Program p1;
var fi,fo:text;
i,t,n,m,s:longint;
d:array[0..50005] of longint;
a,b,c:array[0..100003] of longint;
Procedure verific;
var t:boolean;
begin
t:=true;
if d[s]<>0 then t:=false
else for i:=1 to m do if d[a[i]]+c[i]<d[b[i]] then t:=false;
if t=true then writeln(fo,'DA')
else writeln(fo,'NU');
end;
begin
assign(fi,'distante.in'); reset(fi);
assign(fo,'distante.out'); rewrite(fo);
readln(fi,t);
while t>0 do begin
readln(fi,n,m,s);
for i:=1 to n do read(fi,d[i]); readln(fi);
for i:=1 to m do readln(fi,a[i],b[i],c[i]);
verific;
dec(t);
end;
close(fi); close(fo);
end.