Pagini recente » Cod sursa (job #2363170) | preONI 2007, Runda 3, Clasa a 10-a | Cod sursa (job #2457426) | Cod sursa (job #1633304) | Cod sursa (job #1819632)
#include <fstream>
#include <cmath>
#include <algorithm>
#define x first
#define y second
using namespace std;
ofstream fout ("shop.out");
ifstream fin ("shop.in");
int n,c,i,suma;
long long l,a,b,rsp[50];
pair < pair < long long , int > , int > v[50];
int main()
{
fin>>n>>c>>l;
for( i = 1 ; i <= n ; i++ )
{
fin>>a>>b;
v[ i ] = make_pair( make_pair( pow( c , a ) , b ) , i );
}
sort( v + 1 , v + n + 1 , greater < pair < pair < long long , int > , int > >() );
for( i = 1 ; i <= n ; i++ )
{
a = min( l / v[ i ].x.x , v[ i ].x.y * 1LL );
rsp[ v[ i ].y ] = a;
l -= a * v[ i ].x.x;
suma += a;
}
fout<<suma<<'\n';
for( i = 1 ; i <= n ; i++ )
fout<<rsp[ i ]<<" ";
return 0;
}