Cod sursa(job #140062)

Utilizator andumMorie Daniel Alexandru andum Data 21 februarie 2008 09:21:20
Problema Energii Scor 5
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.65 kb
var g,w,i,j,x,q,min,e,l:integer;
    s:longint;
    a:array[1..1002] of record
                        x:integer;
                        y:integer;
                        end;
    f,h:text;
begin
assign(f,'energii.in');
reset(f);
assign(h,'energii.out');
rewrite(h);
readln(f,g);
readln(f,w);
for i:=1 to g do begin
                 read(f,a[i].x);
                 readln(f,a[i].y);
                 end;
close(f);
for i:=1 to g-1 do
for j:=i+1 to g do if (a[i].x>a[j].x) or ((a[i].x=a[j].x) and (a[i].y<a[j].y)) then begin
                                                                                    x:=a[i].x;
                                                                                    a[i].x:=a[j].x;
                                                                                    a[j].x:=x;
                                                                                    x:=a[i].y;
                                                                                    a[i].y:=a[j].y;
                                                                                    a[j].y:=x;
                                                                                    end;
i:=1;
while (i<=g) do begin
                s:=s+a[i].x;
                e:=e+a[i].y;
                inc(i);
               end;
if s<w then writeln(h,'-1')
       else begin
min:=e;
for i:=1 to g do
for j:=i to g do
 begin
  s:=0;
  e:=0;
  for l:=i to j do begin
                   s:=s+a[l].x;
                   e:=e+a[l].y;
                   end;
  if (s>=w) and (min>e) then min:=e;
 end;
writeln(h,min);
            end;
close(h);
end.