Cod sursa(job #1027236)

Utilizator RusuAlexeiRusu Alexei RusuAlexei Data 12 noiembrie 2013 17:09:34
Problema Amenzi Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
program amenzi;

  var n,m,k,p,i,x,y,z,j,h:longint;
      d:array [1..150,1..150] of longint;
      a,b:array [1..150,0..3500] of longint;

begin
  assign(input,'amenzi.in');
  reset(input);
  assign(output,'amenzi.out');
  rewrite(output);

  readln(n,m,k,p);

  for i:=1 to m do
    begin
      readln(x,y,z);
      d[x,y]:=z;
      d[y,x]:=z;

    end;

  for i:=1 to n do d[i,i]:=1;

  for i:=1 to k do
    begin
      readln(x,y,z);
      b[x,y]:=z;
    end;

  for i:=0 to 3500 do
    for j:=1 to n do a[j,i]:=-1;
  a[1,0]:=0;
  for i:=1 to 3500 do
    begin
      for j:=1 to n do
        begin
          for h:=1 to n do
            begin
              if d[j,h]>0 then
                if (i-d[j,h]>=0)then
                  if (a[h,i-d[j,h]]<>-1) then
                    if a[h,i-d[j,h]]>=a[j,i] then a[j,i]:=a[h,i-d[j,h]];

            end;
          if a[j,i]<>-1 then a[j,i]:=a[j,i]+b[j,i];
        end;
    end;
  for i:=1 to p do
    begin
      readln(x,y);
      writeln(a[x,y]);
    end;


  close(output);
end.