Cod sursa(job #1425940)

Utilizator hasmasandragosHasmasan Dragos hasmasandragos Data 28 aprilie 2015 16:36:14
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
const int nmax=35;
struct coin{long long int value,type,amount;};
coin a[nmax];
long long int n,i,j,base,exponent,used[nmax],sum,camm,totalcoins;

bool cmp (coin A , coin B)
{
    return A.value>B.value;
}

int main()
{
    f>>n>>base>>sum;
    for (i=1;i<=n;i++)
    {
        f>>exponent>>camm;
        a[i].type=i;
        a[i].value=pow(base,exponent);
        a[i].amount=camm;
    }
    sort(a+1,a+n+1,cmp);
    i=1;
    while (sum && i<=n)
    {
        while (sum>=a[i].value && a[i].amount>0)
        {
            used[a[i].type]++;
            sum-=a[i].value;
            a[i].amount--;
        }
        i++;
    }
    for (i=1;i<=n;i++)
     totalcoins+=used[i];
    g<<totalcoins<<'\n';
    for (i=1;i<=n;i++)
    g<<used[i]<<" ";
    return 0;
}