Pagini recente » Cod sursa (job #2862854) | Cod sursa (job #2754930) | Cod sursa (job #1943744) | Cod sursa (job #177261) | Cod sursa (job #272232)
Cod sursa(job #272232)
#include <stdio.h>
long long N,C,L,i,max,poz,s;
long long exp[33],numar[33],val[33],fol[33];
int main ()
{
freopen ("shop.in","r",stdin);
freopen ("shop.out","w",stdout);
scanf ("%lld %lld %lld",&N,&C,&L);
for (i=1;i<=N;i++) scanf ("%lld %lld",&exp[i],&numar[i]);
val[0]=1;
for (i=1;i<=32;i++) val[i]=val[i-1]*C;
while (L>0){
max=-1;
for (i=1;i<=N;i++) if (exp[i]>max) {max=exp[i];poz=i;}
exp[poz]=-1;
if (numar[poz]>L/val[max]) i=L/val[max];
else i=numar[poz];
fol[poz]=i;
L=L-fol[poz]*val[max];
}
for (i=1;i<=N;i++) s=s+fol[i];
printf ("%lld\n",s);
for (i=1;i<=N;i++) printf ("%lld ",fol[i]);
return 0;
}