Pagini recente » Cod sursa (job #1722880) | Cod sursa (job #3211793) | Cod sursa (job #539107) | Cod sursa (job #654283) | Cod sursa (job #719185)
Cod sursa(job #719185)
#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");
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;
}
fclose(f);
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--;
}
FILE *g=fopen("shop.out","w");
fprintf(g,"%lld\n",nr);
for(i=1;i<=n;i++){
fprintf(g,"%lld ",sol[i]);
}
fclose(g);
return 0;
}