Pagini recente » Cod sursa (job #1236089) | Cod sursa (job #351427) | Cod sursa (job #3144925) | Cod sursa (job #1792841) | Cod sursa (job #932775)
Cod sursa(job #932775)
#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;
}