Cod sursa(job #961111)

Utilizator primulDarie Sergiu primul Data 11 iunie 2013 17:12:29
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <cmath>
#include <algorithm>
 
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
 
long long n,c,l;
struct mnz{long long a,b,s=0,p;};
mnz ttl[50];
 
bool mnzacmp(const mnz& m1,const mnz& m2)
{
    return m1.a<m2.a;
}
 
bool mnzpcmp(const mnz& m1,const mnz& m2)
{
    return m1.p<m2.p;
}
 
int main()
{
    f>>n>>c>>l;
 
    for(int i=0;i<n;i++){
        long long a,b;
        f>>a>>b;
        ttl[i].a=a;
        ttl[i].b=b;
        ttl[i].p=i;
    }
 
    sort(ttl,ttl+n,mnzacmp);
 
    long long nr=0;
 
    for(int i=n-1;i>=0;i--){
        while(l>=pow(c,ttl[i].a)&&ttl[i].b){
            l-=pow(c,ttl[i].a);
            ttl[i].s++;
            ttl[i].b--;
            nr++;
        }
    }
 
    sort(ttl,ttl+n,mnzpcmp);
 
    g<<nr<<'\n';
    for(int i=0;i<n;i++)
        g<<ttl[i].s<<" ";
 
 
    return 0;
}