Pagini recente » Cod sursa (job #251519) | Cod sursa (job #171370) | Cod sursa (job #1095898) | Cod sursa (job #3128044) | Cod sursa (job #52853)
Cod sursa(job #52853)
#include<stdio.h>
int fol[30];
int main () {
int l;
int n,c,i,a[30],b[30],max=-1,nr=0,q=-1,k=1,p[30],f;
FILE *in=fopen("shop.in","r"), *out=fopen("shop.out","w");
fscanf(in,"%d%d",&n,&c);
fscanf(in,"%d",&l);
for(i=0;i<n;i++){
fscanf(in,"%d%d",&a[i],&b[i]);
if(max<a[i])
max=a[i];
}
for(i=0;i<=max;i++){
p[i]=k;
k*=c;
}
while(l){
q=-1;
max=-1;
k=1;
for(i=0;i<n;i++)
if(a[i]>q){
max=i;
q=a[i];
}
a[max]=-1;
f=l/p[q];
if(f<b[max]){
l=l-(f*p[q]);
fol[max]=f;
nr+=f;
}
else{
l=l-(b[max]*p[q]);
fol[max]=b[max];
nr+=b[max];
}
}
fprintf(out,"%d\n",nr);
for(i=0;i<n;i++)
fprintf(out,"%d ",fol[i]);
fprintf(out,"\n");
fclose(in);
fclose(out);
return 0;
}