Pagini recente » Cod sursa (job #1159813) | Cod sursa (job #2435980) | Cod sursa (job #509015) | Cod sursa (job #2866988) | Cod sursa (job #2183157)
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 = 0 then begin
min:=b;
exit;
end;
if a>b then
min:=b
else min:=a;
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 begin
for j:=w downto a[i].e do begin
if b[j-a[i].e] <> 0 then b[j]:=min(b[j],b[j-a[i].e]+a[i].c)
else if j-a[i].e = 0 then b[j]:=min(b[j],a[i].c);
end;
for j:=1 to w do
//write(g,b[j],' ');
writeln(g);
end;
writeln(g);
if b[w]=0 then write(g,'-1')
else write(g,b[w]);
close(f);
close(g);
end.