Cod sursa(job #1819632)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 30 noiembrie 2016 18:25:27
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#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;
}