Cod sursa(job #42573)

Utilizator petrePajarcu Alexandru-Petrisor petre Data 29 martie 2007 12:28:34
Problema Energii Scor 5
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.77 kb
var f,g:text;
a,b:array[1..1000] of integer;
sum,ind:array[1..5000] of integer;
n,i,j,k,l,m,s:longint;
begin
assign(f,'energii.in');
assign(g,'energii.out');
reset(F);
rewrite(G);
readln(f,n);
readln(f,s);
for i:=1 to n do
        readln(f,a[i],b[i]);
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-a[i] do
        if (sum[a[i]+j]<>0) and(ind[j]<>i)and(sum[a[i]+j]>sum[j]+b[i])
                then
                begin
                sum[a[i]+j]:=sum[j]+b[i];
                sum[a[i]+j]:=i;
                end;
end;
if sum[s] =0 then
                writeln(g,-1)
else
writeln(g,sum[s]);
close(F);
close(G);
end.