Pagini recente » Cod sursa (job #2242151) | Cod sursa (job #743122) | Cod sursa (job #814390) | Cod sursa (job #1892345) | Cod sursa (job #2183106)
Program Energii;
type nmax=0..100000;
gener = record
e,c:nmax;
end;
vect = array[nmax] of gener;
var a:vect;
b:array[nmax] of longint;
i,j,n:nmax;
w:longint;
f,g:text;
function min(a,b:longint):longint;
begin
if a>b then
min:=b
else min:=a;
//writeln('min ',min);
end;
begin
assign(f,'energii.in');
assign(g,'energii.out');
reset(f);
rewrite(g);
readln(f,n,w);
for i:=1 to n do begin
readln(f,a[i].e,a[i].c);
b[i]:=0;
end;
for i:=1 to n do
for j:=w downto a[i].e do
if (b[j-a[i].e]<>0) and (b[j]<>0) then
b[j]:=b[j]+min(b[j],b[j-a[i].e]+a[i].c)
else if j-a[i].e=0 then b[j]:=a[i].c;
if b[w]=0 then write(g,'-1')
else write(g,b[w]);
close(f);
close(g);
end.