Cod sursa(job #932775)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 29 martie 2013 11:21:17
Problema Shop Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("shop.in");
ofstream fout("shop.out");

long long n, c, l, sum, nrm;

struct mon{
    long long val, m;
}monede[32];

bool cmp(mon a, mon b){
    return a.val > b.val;
}

long long Putere(long long a){
    long long x = 1;
    for(int i=1; i<=a; i++)
        x *= c;
    return x;
}

int main()
{
    fin>>n>>c>>l;
    for(int i=1; i<=n;i++)
        fin>>monede[i].val>>monede[i].m;

    sort(monede + 1, monede + n + 1, cmp);

    for(int i=1; i<=n; i++){
        long long nrmax = monede[i].m, x = Putere(monede[i].val);
        while(nrmax && sum <= l){
            sum += x;
            nrmax--;
            nrm++;
        }
        if(sum == l) break;
        if(sum > l) sum -= x, nrm--;
    }

    fout<<nrm;
    return 0;
}