Pagini recente » Cod sursa (job #677057) | Cod sursa (job #2190016) | Cod sursa (job #945072) | Cod sursa (job #616952) | Cod sursa (job #800077)
Cod sursa(job #800077)
type tip=record
p,nr,pos:longint;
end;
var a:array [1..30] of tip;
sol:array [1..30] of longint;
i,j,n,nr,c:longint;
s,pt,dv:int64;
y:tip;
f,g:text;
function shop(a,b:longint):int64;
var p:int64;
i:longint;
begin
p:=1;
for i:=1 to b do p:=p*a;
shop:=p;
end;
begin
assign(f,'shop.in');
assign(g,'shop.out');
reset(f);
rewrite(g);
readln(f,n,c,s);
for i:=1 to n do
begin
readln(f,a[i].p,a[i].nr);
a[i].pos:=i;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j].p<a[i].p then
begin
y:=a[j];
a[j]:=a[i];
a[i]:=y;
end;
for i:=n downto 1 do
begin
pt:=shop(c,a[i].p);
if s div pt>a[i].nr then
dv:=a[i].nr
else
dv:=s div pt;
sol[a[i].pos]:=dv;
nr:=nr+dv;
s:=s-dv*pt;
if s<=0 then
break;
end;
writeln(g,nr);
for i:=1 to n do
write(g,sol[i],' ');
close(f);
close(g);
end.