Pagini recente » Cod sursa (job #1011930) | Cod sursa (job #2480261) | Cod sursa (job #2859705) | Cod sursa (job #2537964) | Cod sursa (job #866450)
Cod sursa(job #866450)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
int i,p,n,c,poz[430];
long long nrm,l,k;
struct ban{long long ans,poz,val,nr;};
ban v[40];
bool cmp(ban a,ban b)
{
if(a.val>b.val)
return 1;
swap(poz[a.poz],poz[b.poz]);
return 0;
}
int main()
{
f>>n>>c>>l;
for(i=1;i<=n;++i)
{
f>>p>>v[i].nr;
v[i].val=1;
for(;p;--p)
v[i].val*=c;
poz[i]=i;
v[i].poz=i;
}
sort(v+1,v+n+1,cmp);
nrm=0;
for(i=1;i<=n;++i)
{
k=l/v[i].val;
if(k>v[i].nr)
k=v[i].nr;
v[i].ans=k;
l-=k*v[i].val;
nrm+=k;
}
g<<nrm<<'\n';
for(i=1;i<=n;++i)
g<<v[poz[v[i].poz]].ans<<' ';
g<<'\n';
return 0;
}