Cod sursa(job #52766)

Utilizator MirageRobert Sandu Mirage Data 19 aprilie 2007 21:25:03
Problema Shop Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
int fol[30];
int main () {
	int l;
	int n,c,i,a[30],b[30],max,nr=0,q,k=1;
	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]);
	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;
		for(i=0;i<q;i++)
			k*=c;
		while(b[max]&&l>=k){
			l-=k;
			nr++;
			fol[max]++;
			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;
}