Cod sursa(job #964428)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 20 iunie 2013 22:29:14
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
long long n,c,l;
struct moneda {long long nr,val,poz;};
moneda a[32];
int sol[32], S;
inline long long  putere(int apar)
{
    int i;
    long long sol=1;
    for (i=1;i<=apar;i++)
        sol*=c;
    return sol;
}
inline int cmp (moneda a, moneda b)
{
    if (a.val>b.val)
        return 1;
    return 0;
}
int main()
{
    fstream f,g;
    f.open("shop.in",ios::in);
    g.open("shop.out",ios::out);
    f>>n>>c>>l;
    int i,x;
    for (i=1;i<=n;i++)
    {
        f>>x>>a[i].nr;
        a[i].poz=i;
        a[i].val=putere(x);
    }
    sort(a+1,a+1+n,cmp);
    int y;
    for (i=1;i<=n;i++)
    {
        y=l/a[i].val;//cate imi trebuie
        if (y>a[i].nr)
            y=a[i].nr;// cate am;
        l=l-y*a[i].val;
        S+=y;
        sol[a[i].poz]=y;
    }
    g<<S<<"\n";
    for (i=1;i<=n;i++)
        g<<sol[i]<<" ";
}