Pagini recente » Borderou de evaluare (job #1567174) | Cod sursa (job #14208) | Cod sursa (job #798238) | Cod sursa (job #1235882) | Cod sursa (job #187020)
Cod sursa(job #187020)
program shop;
var f,g:text;
a,b,v,p:array[0..100]of longint;
n,c,i,ord,aux,co,x,j:longint;
l:int64;
begin
assign(f,'shop.in');
assign(g,'shop.out');
reset(f);
rewrite(g);
read(f,n,c,l);
for i:=1 to n do read(f,a[i],b[i]);
for i:=1 to n do p[i]:=i;
repeat
ord:=0;
for i:=1 to n-1 do
if (a[i]<a[i+1])then
begin
aux:=a[i];
a[i]:=a[i+1];
a[i+1]:=aux;
aux:=b[i];
b[i]:=b[i+1];
b[i+1]:=aux;
aux:=p[i];
p[i]:=p[i+1];
p[i+1]:=aux;
ord:=1;
end;
until ord=0;
for i:=1 to n do
begin
x:=1;
for j:=1 to a[i] do x:=x*c;
if (l div x<=b[i])then
begin
inc(co,l div x);
v[p[i]]:=l div x;
l:=l mod x;
end else
begin
inc(co,b[i]);
l:=l-(x*b[i]);
v[p[i]]:=b[i];
end;
end;
writeln(g,co);
for i:=1 to n do writE(g,v[i],' ');
closE(f);
close(g);
end.