Cod sursa(job #38226)

Utilizator CezarMocanCezar Mocan CezarMocan Data 25 martie 2007 16:18:07
Problema Shop Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.3 kb
type ban=record
                a,min:int64;
                end;
var v,x:array[1..33]of ban;
    s,smin:array[1..33]of int64;
    n,c,i,j,nr,nmin:longint;
    l,min,t:int64;
    aux:ban;

begin
assign(input,'shop.in');reset(input);
assign(output,'shop.out');rewrite(output);
readln(n,c,l);
for i:=1 to n do
        read(v[i].a,v[i].min);
for i:=1 to n do
        begin
        t:=1;
        for j:=1 to v[i].a do
                t:=t*c;
        v[i].a:=t;
        end;
x:=v;
for i:=1 to n do
        for j:=i+1 to n do
                if v[i].a<v[j].a then
                        begin
                        aux:=v[i];
                        v[i]:=v[j];
                        v[j]:=aux;
                        end;
for i:=1 to n do
        begin
        min:=l div v[i].a;
        if v[i].min<min then
                min:=v[i].min;
        l:=l-v[i].a*min;
        nmin:=nmin+min;
        smin[i]:=min;
        end;
writeln(nmin);
for i:=1 to n do
        begin
        for j:=1 to n do
                if (v[i].a=x[j].a)and(v[i].min=x[j].min) then
                        begin
                        s[j]:=smin[i];
                        break;
                        end;
        end;
for i:=1 to n do
        write(s[i],' ');
close(input);close(output);
end.