Cod sursa(job #1981703)

Utilizator SchimbatorLaurakeemoo SchimbatorLaura Data 16 mai 2017 16:05:02
Problema Problema rucsacului Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.14 kb
Program rucsac;
type diamant=record m,c,p:real; end;
var fi,fo:text;
i,j,n:integer;
a:array [1..30000] of diamant;
x:diamant;
g,g2,v:real;

begin
        assign(fi,'rucsac.in');
        assign(fo,'rucsac.out');
        reset(fi);
        rewrite(fo);
        read(fi,n,g);
        for i:=1 to n do begin
                                read(fi,a[i].m);
                                read(fi,a[i].c);
                                a[i].p:=a[i].c/a[i].m;
                            end;
        for i:=1 to n-1 do
           for j:=i+1 to n do
               if a[j].p>a[i].p then begin
                                        x:=a[i];
                                        a[i]:=a[j];
                                        a[j]:=x;
                                     end;
        v:=0; g2:=a[1].m; i:=1;
         while g2<=g do begin
                             v:=v+a[i].c;
                             inc(i);
                             g2:=g2+a[i].m;
                          end;

         if g2-a[i-1].m<=g then if a[i].c>a[i-1].c then v:=v-a[i-1].c+a[i].c;
         writeln(fo,v:0:2);
     close(fo);
end.