Cod sursa(job #1782828)

Utilizator Dragos1998Dragos Radu Dragos1998 Data 18 octombrie 2016 16:24:24
Problema Shop Scor 100
Compilator cpp Status done
Runda greedy_excelenta Marime 0.65 kb
#include <iostream>
#include<fstream>
using namespace std;
long long i,n,a,b,nr[35],c,l,ans[35],poz[35],p[35],t,mx,sum;
int main()
{
    ifstream f("shop.in");
    ofstream g("shop.out");
    f>>n>>c>>l;
    for(i=1;i<=n;i++)
    {
        f>>a>>b;
        poz[a]=i;
        nr[a]=b;
        if(a>mx) mx=a;
    }
    p[0]=1;
    for(i=1;i<=mx;i++)
        p[i]=p[i-1]*c;
    for(i=mx;i>=0;i--)
    {
        if(poz[a])
        {
            t=min(l/p[i],nr[i]);
            l-=t*p[i];
            ans[poz[i]]=t;
            sum+=t;
        }
    }
    g<<sum<<'\n';
    for(i=1;i<=n;i++)
        g<<ans[i]<<' ';
    return 0;
}