Cod sursa(job #2136352)

Utilizator adiaioanaAdia R. adiaioana Data 19 februarie 2018 20:52:54
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
unsigned long long v[60],l,c,s,d,w[50],p,n;
struct chestie{
    unsigned long long val,ind,nr;
}a[50];
void powerc();
bool comp(chestie a,chestie b);
int main()
{
    fin>>n>>c>>l;
    powerc();
    for(int i=1;i<=n;i++)
    {
        fin>>p>>a[i].nr;
        a[i].val=v[p];
        a[i].ind=i;
    }
    sort(a+1,a+n+1,comp);
    for(int i=1;i<=n&&l;i++)
    {
        d=l/a[i].val;
        if(a[i].nr<d)
            d=a[i].nr;
        w[a[i].ind]=d;
        s+=w[a[i].ind];
        l=l-(d*a[i].val);
    }
    fout<<s<<'\n';
    for(int i=1;i<=n;i++)
        fout<<w[i]<<' ';
    fout<<'\n';
    return 0;
}
bool comp(chestie a,chestie b)
{
    return (a.val>b.val);
}
void powerc()
{
    v[0]=1;
    for(int i=1;v[i-1]<=l;i++)
        v[i]=v[i-1]*c;
}