Cod sursa(job #719311)

Utilizator avram_florinavram florin constantin avram_florin Data 21 martie 2012 18:33:35
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<cstdio>
#include<algorithm>

using namespace std;

const int MaxN = 31;

const char InFile[] = "shop.in";
const char OutFile[] = "shop.out";

int N,C,A[MaxN],B[MaxN],ind[MaxN];
long long L,X,k,sol;

bool cmp( int a , int b )
{
	return A[a] > A[b];
}

int main()
{
	ifstream fin( InFile );
	ofstream fout( OutFile );
	int i,j;
	fin >> N >> C >> L;
	for( i = 0 ; i < N ; ++i )
		{
			fin >> A[i] >> B[i];
			ind[i] = i;
		}
	sort(ind,ind+N,cmp);
	for( i  = 0 ; i < N ; ++i )
		{
			X = 1;
			for( j = 1 ; j <= A[ind[i]] && X <= L ; ++j )
				X *= C;
			k = L/X;
			if( k > B[ind[i]] )
				k = B[ind[i]];
			L -= k*X;
			sol += k;
			B[ind[i]] = k;
		}
	fout << sol << '\n';
	for( i = 0 ; i < N ; ++i )
		fout << B[i] << ' ';
	fout << '\n';
	fin.close();fout.close();
	return 0;
}