Pagini recente » Cod sursa (job #3179096) | Cod sursa (job #784846) | Cod sursa (job #423940) | Cod sursa (job #419732) | Cod sursa (job #1990648)
#include<stdio.h>
long long nr,sol[100000],a,min,max,val,n,c,l,i,x,y,m[3][100000];
int main(){
FILE *f=fopen("shop.in","r");
FILE *g=fopen("shop.out","w");
fscanf(f,"%lld %lld %lld",&n,&c,&l);
for(i=1;i<=n;i++){
fscanf(f,"%lld %lld",&x,&y);
m[1][x]=y;
m[2][x]=i;
if(x>max)
max=x;
}
val=1;
m[0][0]=1;
for(i=1;i<=max;i++)
val*=c,m[0][i]=val;
i=max;
while(l!=0) {
while(m[1][i]==0)
i--;
a=l/m[0][i];
if(a<m[1][i])
min=a;
else
min=m[1][i];
nr+=min;
l-=m[0][i]*min;
sol[m[2][i]]=min;
i--;
}
fprintf(g,"%lld\n",nr);
for(i=1;i<=n;i++)
fprintf(g,"%lld ",sol[i]);
return 0;
}