Cod sursa(job #1686583)

Utilizator laura.calimanLaura Caliman laura.caliman Data 12 aprilie 2016 12:27:21
Problema Energii Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
var g,w,i,j,k,n:longint;
    e,c,a:array[0..10001] of longint;
    
begin
  assign(input,'energii.in');
  assign(output,'energii.out');
  reset(input);
  rewrite(output);
  read(g,w);
  for i:=1 to g do read(e[i],c[i]);
  a[0]:=0;
  for i:=1 to g do begin
    for j:=w*2-e[i] downto 1 do begin
      if a[j]<>0 then 
        if (a[j+e[i]]>a[j]+c[i]) or (a[j+e[i]]=0) then
          a[j+e[i]]:=a[j]+c[i];
//      k:=j+e[i]-1;
//      while ((a[k]=0) or (a[k]>a[j+e[i]])) and (k>0) do begin
//        a[k]:=a[j+e[i]];
//        dec(k);
//      end;
    end;
    if (a[e[i]]>c[i]) or (a[e[i]]=0) then
      a[e[i]]:=c[i];
  end;
  k:=a[w];
//  for i:=1 to w*2 do write(a[i],' ');
//  writeln(k);
  for i:=w+1 to w*2 do if (a[i]>0) and (a[i]<k) then k:=a[i];
  if k=0 then write(-1) else write(k);
end.