Pagini recente » Cod sursa (job #3288522) | Cod sursa (job #54074) | Cod sursa (job #2623448) | Cod sursa (job #1636304) | Cod sursa (job #2136346)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
unsigned long long v[55],l,c,s,d;
int w[50],p,n;
struct chestie{
int val,ind,nr;
}a[50];
void powerc();
bool comp(chestie a,chestie b);
int main()
{
fin>>n>>c>>l;
powerc();
for(int i=1;i<=n;i++)
{
fin>>p>>a[i].nr;
a[i].val=v[p];
a[i].ind=i;
}
sort(a+1,a+n+1,comp);
for(int i=1;i<=n&&l;i++)
{
d=l/a[i].val;
if(a[i].nr<d)
d=a[i].nr;
w[a[i].ind]=d;
s+=w[a[i].ind];
l=l-(d*a[i].val);
}
fout<<s<<'\n';
for(int i=1;i<=n;i++)
fout<<w[i]<<' ';
return 0;
}
bool comp(chestie a,chestie b)
{
return (a.val>b.val);
}
void powerc()
{
v[0]=1;
for(int i=1;v[i-1]*c<=l;i++)
v[i]=v[i-1]*c;
}