Mai intai trebuie sa te autentifici.
Cod sursa(job #148366)
Utilizator | Data | 4 martie 2008 10:54:00 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.74 kb |
const inf = 10000000;
var v:array[0..5001] of longint;
e,c:array[1..1001] of integer;
g,w,i,j,u,poz,s:integer;
f:text;
begin
assign(f,'energii.in');
reset(f);
readln(f,g);
readln(f,w);
for i:=1 to g do
readln(f,e[i],c[i]);
close(f);
for i:=1 to w do
v[i]:=inf;
v[0]:=0;
u:=0;
for i:=1 to g do
begin
for j:=w downto 0 do
if (v[j]<>inf) then begin
poz := j+e[i];
if (poz>w) then poz:=w;
if (v[poz]>v[j]+c[i]) then
v[poz]:=v[j]+c[i];
end;
end;
assign(f,'energii.out');
rewrite(f);
if v[w]=inf then
write(f,-1)else
write(f,v[w]);
close(f);
end.