Cod sursa(job #1370960)

Utilizator Alin_OAlin Oancea Alin_O Data 3 martie 2015 18:19:07
Problema Energii Scor 35
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.97 kb
type sir = array[1..5001] of longint;
var a,a1:sir;
    g,w:longint;
    f:text;

procedure cit(var g,w:longint);
var t,k,i,j,max:longint;
begin
assign(f,'energii.in'); reset(f);
readln(f,g); readln(f,w); max:=maxlongint;
for k:=1 to g do begin
  readln(f,i,j);
  a1:=a;
  for t:=1 to 3300 do
    if (a[t] <> 0) then
      if (a[t+i] = 0) then begin
        a1[t+i]:=a[t]+j;
        if ((t+i >= w) and (max > a1[t+i])) then max:=a1[t+i];
      end
      else if (a[t+i] > a[t]+j) then begin
        a1[t+i]:=a[t]+j;
        if ((t+i >= w) and (max > a1[t+i])) then max:=a1[t+i];
      end;
  if (a[i] = 0) then begin
    a1[i]:=j;
    if ((i >= w) and (max > a1[i])) then max:=a1[i];
  end
  else if (j < a[i]) then begin
    a1[i]:=j;
    if ((i >= w) and (max > a1[i])) then max:=a1[i];
  end;
  a:=a1;
end;
close(f); assign(f,'energii.out'); rewrite(f); if (max <> maxlongint) then write(f,max) else write(f,-1); close(f);
end;

begin {pp}
cit(g,w);
end.