Pagini recente » Cod sursa (job #348327) | Cod sursa (job #839361) | Cod sursa (job #708276) | Cod sursa (job #1368492) | Cod sursa (job #63172)
Cod sursa(job #63172)
#include<stdio.h>
long int n,c,l,p[40],i,j,k,old[40],max[40],nr[40],sol,x[40];
int main()
{
FILE *f,*g;
f=fopen("shop.in","r");
g=fopen("shop.out","w");
fscanf(f,"%ld%ld%ld",&n,&c,&l);
p[0]=1;while(p[i]<l){i++;p[i]=p[i-1];}
for(j=1;j<=n;j++)
{ fscanf(f,"%ld",&k);
old[k]=j;
fscanf(f,"%ld",&max[k]);
}
nr[0]=l;
for(j=32;j>=1;j--)
{
if(max[k])
while((nr[k]<=max[k])&&(nr[0]>=p[k]))
{ nr[k]++;nr[0]-=p[k];}
}
for(j=0;j<=32;j++)
if(nr[j])
{ sol+=nr[j];
x[old[j]]=nr[j];
}
fprintf(g,"%ld\n",sol);
for(j=1;j<=n;j++)
fprintf(g,"%ld ",x[j]);
fprintf(g,"\n");
fcloseall();
return 0;
}