Pagini recente » Cod sursa (job #2849274) | Cod sursa (job #2229538) | Cod sursa (job #2823730) | Cod sursa (job #2093622) | Cod sursa (job #40115)
Cod sursa(job #40115)
#include<stdio.h>
long long n,c,i,j,nr[31],m;
struct {long long a,n,i;}a[31],aux;
long long l,C[33];
int main()
{freopen("shop.in","r",stdin);
freopen("shop.out","w",stdout);
scanf("%lld %lld %lld",&n,&c,&l);
C[0]=1;
for(i=1;i<=32;i++)
C[i]=C[i-1]*c;
for(i=1;i<=n;i++) {scanf("%d %d",&a[i].a,&a[i].n);a[i].i=i;}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(a[i].a<a[j].a) {aux=a[i];a[i]=a[j];a[j]=aux;}
i=0;
while(l)
{nr[a[i].i]=l/C[a[i].a];
if(nr[a[i].i]>a[i].n) nr[a[i].i]=a[i].n;
m=m+nr[a[i].i];
l=l-nr[a[i].i]*C[a[i].a];
i++;}
printf("%lld\n",m);
for(i=1;i<=n;i++)
printf("%lld ",nr[i]);
return 0;}