Pagini recente » Cod sursa (job #2260306) | Cod sursa (job #2374218) | Cod sursa (job #407987) | Cod sursa (job #1544795) | Cod sursa (job #42613)
Cod sursa(job #42613)
var f,g:text;
a,b:array[1..1024] of longint;
sum,ind:array[1..200000] of longint;
n,i,j,k,l,m,s,max,min:longint;
begin
assign(f,'energii.in');
assign(g,'energii.out');
reset(F);
rewrite(G);
readln(f,n);
readln(f,s);
max:=0;
for i:=1 to n do
begin
readln(f,a[i],b[i]);
if a[i]>max then max:=a[i];
end;
for i:=1 to n do
begin
if (sum[a[i]]=0)or (sum[a[i]]>b[i]) then
begin
sum[a[i]]:=b[i];
ind[a[i]]:=i;
end;
for j:=1 to s-1 do
if (sum[j]<>0) and(ind[j]<>i)and((sum[a[i]+j]>sum[j]+b[i])or(sum[a[i]+j]=0))
then
begin
sum[a[i]+j]:=sum[j]+b[i];
ind[a[i]+j]:=i;
end;
end;
min:=maxlongint;
for i:=s to s+max-1 do
if (sum[i]<>0) and (sum[i]<min) then
min:=sum[i];
if min=maxlongint then
writeln(g,-1)
else
writeln(g,min);
close(F);
close(G);
end.