Cod sursa(job #1975551)

Utilizator dragos231456Neghina Dragos dragos231456 Data 1 mai 2017 12:20:37
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
long long  n,l,c,rez[35],put[70],d,x,k,s;

struct ban{
    long long exp,nr,ind;
}v[35];

void puteri()
{
    put[0]=1;
    while(l/put[d]>=c)
    {
        ++d;
        put[d]=put[d-1]*c;
    }

}

bool comp(ban x, ban y)
{
    return x.exp<y.exp;
}

int main()
{
    f>>n>>c>>l;
    k=n;
    puteri();
    for(long long i=1;i<=n;++i)
    {
        f>>v[i].exp>>v[i].nr;
        v[i].ind=i;
    }
    sort(v+1,v+n+1,comp);
    while(v[n].exp>d)
    {
        rez[v[n].ind]=0;
        --n;
    }
    while(n && l)
    {
        x=l/put[v[n].exp];
        x=min(x,v[n].nr);
        l-=put[v[n].exp]*x;
        rez[v[n].ind]=x;
        s+=x;
        --n;
    }
    g<<s<<'\n';
    for(long long i=1;i<=k;++i)
    {
        g<<rez[i]<<' ';
    }
    return 0;
}