Pagini recente » Cod sursa (job #2801417) | Cod sursa (job #1859871) | Cod sursa (job #1300063) | Cod sursa (job #2842786) | Cod sursa (job #42964)
Cod sursa(job #42964)
{ Shop/Infoarena }
program sdf;
type moneda=record
a:integer;
b:longint;
end;
var x:array[1..30] of moneda;
v:array[1..30] of longint;
s,n,i,j,cai,max,min,nrmin,p,l,c:longint;
f:text;
begin
{ citire date de intrare }
assign(f,'shop.in');reset(f);
readln(f,n,c,l);
for i:=1 to n do
readln(f,x[i].a,x[i].b);
close(f);
{ determinarea celui mai mare tip de moneda }
max:=x[1].a;
for i:=2 to n do
if max<x[i].a then begin
max:=x[i].a;
p:=i;
end;
{ determinare nr minim de monezi }
nrmin:=0;
while l>0 do begin
cai:=1;
for i:=1 to x[p].a do cai:=cai*c;
min:=l div cai;
if min>x[p].b then min:=x[p].b;
s:=cai*min;
l:=l-s;
v[p]:=min;
nrmin:=nrmin+min;
p:=0;i:=1;max:=-1;
for i:=1 to n do
if (max<x[i].a) and (v[i]=0) then begin
max:=x[i].a;
p:=i;
end;
end;
{ afisare }
assign(f,'shop.out');rewrite(f);
writeln(f,nrmin);
for i:=1 to n do
write(f,v[i],' ');
close(f);
end.