Pagini recente » Cod sursa (job #2537198) | Cod sursa (job #2167539) | Cod sursa (job #668598) | Cod sursa (job #410604) | Cod sursa (job #2525391)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
int n,c,x,d;
bool ok;
long long l,mon;
struct bani{
long long val,ord,nr;
}a[40];
long long putere(int x,int y)
{
long long p=1;
for (int i=1;i<=y;i++)
{
p*=x;
}
return p;
}
bool comp(bani a,bani b)
{
return a.val<b.val;
}
bool comp1(bani a,bani b)
{
return a.ord<b.ord;
}
int main()
{
fin>>n>>c>>l;
for (int i=1;i<=n;i++)
{
fin>>x>>a[i].nr;
a[i].val=putere(c,x);
a[i].ord = i;
}
sort(a+1,a+n+1,comp);
for (int i=n;i>=1;i--)
{
d=l/a[i].val;
if (d>a[i].nr)
{
l = l - a[i].nr*a[i].val;
mon+=a[i].nr;
}
else
{
a[i].nr=d;
l = l - d*a[i].val;
mon+=d;
}
}
sort(a+1,a+n+1,comp1);
fout<<mon<<'\n';
for (int i=1;i<=n;i++)
fout<<a[i].nr<<' ';
return 0;
}