Pagini recente » Cod sursa (job #1388446) | Cod sursa (job #2312967) | Cod sursa (job #2442433) | Cod sursa (job #1353000) | Cod sursa (job #1568019)
program mire;
const inf=99999999;
var f,g:text;
n,w:integer;
s:longint;
e,c:array[0..1002] of integer;
a:array[0..1002,0..5002] of longint;
procedure citire;
var i:integer;
begin
assign(f,'energii.in'); reset(f);
assign(g,'energii.out'); rewrite(g);
readln(f,n);
readln(f,w);
for i:=1 to n do
begin
readln(f,e[i],c[i]);
s:=s+e[i];
end;
close(f);
end;
procedure dinamica;
var i,j:integer;
begin
for i:=0 to 2 do
for j:=0 to w do
a[i,j]:= inf;
for i:=1 to n do
for j:=0 to w do
if e[i]<j then
begin
if a[i-1,j]<a[i-1,j-e[i]]+c[i] then
a[i,j]:=a[i-1,j]
else
a[i,j]:=a[i-1,j-e[i]]+c[i];
end
else
begin
if a[i-1,j]<c[i] then
a[i,j]:=a[i-1,j]
else
a[i,j]:=c[i];
end;
writeln(g,a[n,w]);
end;
begin
s:=0;
citire;
if s<w then
writeln(g,-1)
else
dinamica;
close(g);
end.