Cod sursa(job #63172)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 27 mai 2007 10:20:03
Problema Shop Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#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;
}