Cod sursa(job #942100)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 20 aprilie 2013 19:11:50
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
#include<algorithm>
using namespace std;
int n,C;
long long L,sol[33],total;
struct Moneda{int ind; long long val,nr;};
Moneda v[33];

inline bool Sortare(Moneda A,Moneda B)
{
    return A.val>B.val;
}

int main()
{
    int i,put;
    long long used;
    ifstream fin("shop.in");
    fin>>n>>C>>L;
    for(i=1;i<=n;i++)
    {
        fin>>put>>v[i].nr;
        v[i].val=1LL;
        while(put--)
            v[i].val*=C;
        v[i].ind=i;
    }
    fin.close();

    sort(v+1,v+n+1,Sortare);
    for(i=1;i<=n && L;i++)
    {
        used=min(v[i].nr,L/v[i].val);
        sol[v[i].ind]=used;
        L-=used*v[i].val;
        total+=used;
    }

    ofstream fout("shop.out");
    fout<<total<<"\n";
    for(i=1;i<=n;i++)
        fout<<sol[i]<<' ';
    fout<<"\n";
    fout.close();
    return 0;
}