Cod sursa(job #936347)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 6 aprilie 2013 19:25:53
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include<vector>
#include<algorithm>
using namespace std;

ifstream cin("shop.in");
ofstream cout("shop.out");
vector < pair<long long, long long> > a;
long long A, B[35], n, c, l, f[35], cont;
long long power(long long a, long long b)
{
    long long x=1;
    for(int i=1;i<=b;++i)
        x*=a;
    return x;
}
int main()
{
    cin>>n>>c>>l;
    for(long long i=1;i<=n;++i)
        {
            cin>>A>>B[i];
            a.push_back(make_pair((power(c,A)), i));
        }
    sort(a.begin(), a.end());
    for(int i=n;i>=1, l>0; )
    {
        if(l-a[i].first>=0 && B[a[i].second]>0)
            l-=a[i].first,   f[a[i].second]++, B[a[i].second]--,  cont++;
        else --i;
    }
    cout<<cont<<"\n";
    for(long long i=1;i<=n;++i)
        cout<<f[i]<<" ";
//    for(size_t i=0;i<a.size();++i)
//        cout<<a[i].first<<" "<<a[i].second<<"\n";
    cin.close();
    cout.close();
    return 0;
}