Cod sursa(job #1696938)

Utilizator sucureiSucureiRobert sucurei Data 30 aprilie 2016 13:13:59
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
long long n, c, a;
long long l, nrtip[35], nrm, powr[1000];
struct moneda
{
    int a;
    int b;
    int pozi;
}m[35];
bool cmp(const moneda &m1, const moneda &m2)
{
    return m1.a > m2.a;
}
int main()
{
    f>>n>>c>>l;
    powr[0]=1;
    for (int i=1; i<=32; i++) {
        powr[i]=powr[i-1]*c;
    }
    for (int i=1; i<=n; i++) {
        f>>m[i].a>>m[i].b;
        m[i].pozi=i;
    }
    sort (m+1, m+n+1, cmp);
    for (int i=1; i<=n; i++) {
        int tmp=l/powr[m[i].a];
        nrtip[m[i].pozi]=min(m[i].b, tmp);
        l = l - powr[m[i].a] * nrtip[m[i].pozi];
        nrm+=nrtip[m[i].pozi];
    }
    g<<nrm<<"\n";
    for (int i=1; i<=n; i++)
        g<<nrtip[i]<<" ";
    return 0;
}