Cod sursa(job #723677)

Utilizator 5t3fristea stefan 5t3f Data 25 martie 2012 19:00:00
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
// shop.cpp : Defines the entry point for the console application.
//

//#include "stdafx.h"
#include "fstream"
long long n,c,l,suma,put[30],nr[30];
using namespace std;
int main()
{
	ifstream f("shop.in");
	ofstream g("shop.out");
	f>>n>>c>>l;
	int i;
	int poz;
	suma=0;
	for(i=0;i<n;i++)
	{
		f>>put[i]>>nr[i];
		long long tmp=1;
		long long j;
		for(j=0;j<put[i];j++)
			tmp*=c;
		put[i]=tmp;
	}
	long long j;
	/*for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
			if(put[i]<put[j])
			{
				int tmp;
				tmp=put[i];
				put[i]=put[j];
				put[j]=tmp;
				tmp=nr[i];
				nr[i]=nr[j];
				nr[j]=tmp;
				tmp=init[i];
				init[i]=init[j];
				init[j]=tmp;
			}*/
	long long fol[30];
	for(i=0;i<n;i++)
		fol[i]=0;
	long long sol=0;
	while(l!=0)
	{
		long long max=0,poz;
		for(i=0;i<n;i++)
		{
			if((put[i]>=max)&&(put[i]<=l))
			{
				max=put[i];
				poz=i;
			}
		}
		while((max<=l)&&(nr[poz]>0))
		{
			l-=max;
			nr[poz]--;
			fol[poz]++;
			sol++;
		}
		if(l==0)
			break;
		max=0;
		put[poz]=-1;
	}
	g<<sol<<"\n";
	for(i=0;i<n;i++)
		g<<fol[i]<<" ";
	return 0;
}