Pagini recente » Cod sursa (job #267735) | Cod sursa (job #3123415) | Cod sursa (job #1283665) | Cod sursa (job #1815358) | Cod sursa (job #41655)
Cod sursa(job #41655)
program energii;
type sir=array[1..10000]of integer;
var e,m,b,c:sir;
w,n:integer;
procedure citire;
var i:integer;
begin
assign(input,'energii.in');
reset(input);
readln(n);
readln(w);
for i:=1 to n do
readln(e[i],c[i]);
close(input);
end;
procedure rezolvare;
var i,j,a,q:integer;
begin
for i:=1 to n do
b[i]:=maxint;
m[n]:=e[n];
b[n]:=c[n];
for i:=n-1 downto 1 do
begin
q:=0;
a:=0;
for j:=i to n-1 do
begin
q:=q+e[j];
a:=a+c[j];
if (q+m[i+1]>=w) and (a+b[j+1]<b[i]) then
begin
b[i]:=a+c[j+1];
m[i]:=q+e[i+1];
end;
if (q>=w) and (a<b[i]) then
begin
b[i]:=a;
m[i]:=q;
end
end;
end;
end;
procedure afisare;
var min,i:integer;
begin
assign(output,'energii.out');
rewrite(output);
min:=maxint;
for i:=1 to n do
if (b[i]<min) and (m[i]>=w) then
min:=b[i];
write(min);
close(output);
end;
begin
citire;
rezolvare;
afisare;
end.