Cod sursa(job #523312)

Utilizator loginLogin Iustin Anca login Data 17 ianuarie 2011 19:13:08
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
# include <fstream>
# include <iostream>
# include <vector>
# include <algorithm>
# define DIM 40
# define min(a,b) (a<b?a:b)
using namespace std;
int n, c, b[DIM], p[DIM], r[DIM], sol;
long long l, a[DIM];

bool inline cmp (int i, int j)
{
	return a[i]<a[j];
}

void read ()
{
	ifstream fin ("shop.in");
	fin>>n>>c>>l;
	int x;
	for(int i=1;i<=n;++i)
	{
		p[i]=i;
		fin>>x>>b[i];
		a[i]=1;
		for(int j=1;j<=x;++j)
			a[i]*=c;
	}
	sort(p+1,p+n+1, cmp);
}

void solve ()
{
	long long nr;
	for(int i=n;i && l;--i)
	{		
		nr=min(l/a[p[i]],b[p[i]]);
		l-=nr*a[p[i]];
		r[p[i]]=nr;
		sol+=nr;
	}
}
		
int main ()
{
	read ();
	solve ();
	ofstream fout ("shop.out");
	fout<<sol<<endl;
	for (int i=1;i<=n;++i)
		fout<<r[i]<<" ";
	return 0;
}