Pagini recente » Cod sursa (job #705958) | Statistici Carhat Eusebiu (SebiCarhat) | Cod sursa (job #471179) | Cod sursa (job #421891) | Cod sursa (job #676687)
Cod sursa(job #676687)
program p1;
type generator=record
putere,cost:integer;
end;
var fi,fo:text;
n,w,i,j,x:integer;
a:array[0..1100]of generator;
t:array[0..1,-100..1100] of integer;
procedure citire;
begin
read(fi,n,w);
for i:=1 to n do
read(fi,a[i].putere,a[i].cost);
for i:=-100 to w do
begin
t[0,i]:=9999;
t[1,i]:=9999;
end;
end;
function min(a,b:integer):integer;
begin
if a<b then min:=a
else min
begin
x:=0;
for i:=1 to n do
begin
for j:=1 to w do
if j>a[i].putere then t[1-x,j]:=min(t[x,j],t[x,j-a[i].putere]+a[i].cost)
else t[1-x,j]:=min(t[x,j],a[i].cost);
x:=1-x;
end;
end;
procedure afisare;
begin
if t[x,w]=maxint then write(fo,-1)
else write(fo,t[x,w]);
end;
BEGIN
assign(fi,'energii.in'); reset(fi);
assign(fo,'energii.out'); rewrite(fo);
citire;
rezolvare;
afisare;
close(fi); close(fo);
END.