Cod sursa(job #37575)

Utilizator maria_pparcalabescu maria daniela maria_p Data 25 martie 2007 11:09:20
Problema Shop Scor 100
Compilator fpc Status done
Runda preONI 2007, Runda 4, Clasa a 9-a si gimnaziu Marime 1.6 kb
var f,g:text;
    b,d,x:array[1..50]of longint;
    a:array[1..50]of qword;
    nr,s,aux:qword;
    c,i,j,aux2,z,n:longint;

begin
assign(f,'shop.in');reset(f);
assign(g,'shop.out');rewrite(g);
readln(f,n,c,s);
for i:=1 to n do
    begin
    readln(f,z,b[i]);
    a[i]:=1;
    for j:=1 to z do
        a[i]:=a[i]*c;
    d[i]:=i;
    end;
for i:=1 to n-1 do
    for j:=i+1 to n do
        if a[i]<a[j] then begin
                          aux:=a[i];
                          a[i]:=a[j];
                          a[j]:=aux;
                          aux2:=b[i];
                          b[i]:=b[j];
                          b[j]:=aux2;
                          aux2:=d[i];
                          d[i]:=d[j];
                          d[j]:=aux2;
                          end;
nr:=0;i:=1;
while s<>0 do
      begin
      if a[i]*b[i]>s then begin
                          x[i]:=s div a[i];
                          s:=s mod a[i];
                          nr:=nr+x[i];
                          end
      else begin
           x[i]:=b[i];
           s:=s-a[i]*b[i];
           nr:=nr+x[i];
           end;
      inc(i);
      end;
writeln(g,nr);
for i:=1 to n-1 do
    for j:=i+1 to n do
        if d[i]>d[j] then begin
                          aux2:=d[i];
                          d[i]:=d[j];
                          d[j]:=aux2;
                          aux2:=x[i];
                          x[i]:=x[j];
                          x[j]:=aux2;
                          end;
for i:=1 to n-1 do
    write(g,x[i],' ');
writeln(g,x[n]);
close(f);
close(g);
end.