Pagini recente » Cod sursa (job #2337097) | Cod sursa (job #2982121) | Cod sursa (job #286358) | Cod sursa (job #335562) | Cod sursa (job #45994)
Cod sursa(job #45994)
#include<stdio.h>
#include<string.h>
main()
{
int n,c; long long l;
int a[50]; long long b[50];
long long x[50],s;
int imax,max,i,j,k,r,d,rez;
memset(x,0,sizeof(x));
freopen("shop.in","r",stdin);
freopen("shop.out","w",stdout);
fscanf(stdin,"%d%d%lld",&n,&c,&l);
for(i=1;i<=n;i++)
fscanf(stdin,"%d%lld",&a[i],&b[i]);
k=0;
do{
max=-1;i=1;
do{
if(a[i]>max){max=a[i];imax=i;}
i++;
}while(i<=n);
s=1;d=0;
if(max==0)s=1;
else {
do{
s*=c;
d++;
}while( d<a[imax] );
}
d=0;
do{
if(s<=l){l-=s;x[imax]++;d++;}
}while((d<b[imax])&&(s<=l));
k++;
a[imax]=-1;
}while(k<n);
s=0;
for(i=1;i<=n;i++)
s+=x[i];
fprintf(stdout,"%lld\n",s);
fprintf(stdout,"%lld",x[1]);
for(i=2;i<=n;i++)
fprintf(stdout," %lld",x[i]);
fclose(stdin);
fclose(stdout);
}