Pagini recente » Cod sursa (job #2839928) | Cod sursa (job #745743) | Cod sursa (job #2094193) | Cod sursa (job #682569) | Cod sursa (job #2243568)
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
struct moneda
{
int a,b,ord;
}M[32];
int n,c,l,v[32];
int cond(moneda M1,moneda M2)
{
return M1.a>M2.a;
}
int main()
{
fin>>n>>c>>l;
for(int i=1;i<=n;i++)
{
fin>>M[i].a>>M[i].b;
M[i].ord=i;
}
sort(M+1,M+1+n,cond);
int nr1=0;
for(int i=1;i<=n;i++)
{
int val=pow(c,M[i].a);
int nr=l/val;
if(nr>M[i].b)
nr=M[i].b;
v[M[i].ord]=nr;
nr1+=nr;
l-=nr*val;
}
fout<<nr1<<'\n';
for(int i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}