Cod sursa(job #2639922)

Utilizator PredescuSebastianIonPredescu Sebastian Ion PredescuSebastianIon Data 4 august 2020 14:57:14
Problema Shop Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>

using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
unsigned long long n,c,l,Max,nr,x,y,frecventa[102],p[102],C[102],r[102];
int main()
{
    f>>n>>c>>l;
    Max=0;
    for(int i=1; i<=n; i++)
    {
        f>>x>>y;
        frecventa[x]=y;
        Max=max(Max,x);
        C[x]=i;
    }
    p[0]=1;
    for(int i=1; i<=Max; i++)
    {
        p[i]=p[i-1]*c;
    }
    for(int i=Max; i>=0 && l!=0; i--)
    {
        if(frecventa[i]!=0)
        {
            if(frecventa[i]*p[i]<l)
            {
                l-=(frecventa[i]*p[i]);
                nr+=frecventa[i];
                r[C[i]]=frecventa[i];
            }
            else
            {
                nr+=(l/p[i]);
                r[C[i]]=(l/p[i]);
                l%=p[i];
            }
        }
    }
    g<<nr<<'\n';
    for(int i=1; i<=n; i++)
    {
        g<<r[i]<<' ';
    }
    return 0;
}