Pagini recente » Cod sursa (job #1170703) | Cod sursa (job #2610067) | Cod sursa (job #660239) | Cod sursa (job #1965769) | Cod sursa (job #523312)
Cod sursa(job #523312)
# include <fstream>
# include <iostream>
# include <vector>
# include <algorithm>
# define DIM 40
# define min(a,b) (a<b?a:b)
using namespace std;
int n, c, b[DIM], p[DIM], r[DIM], sol;
long long l, a[DIM];
bool inline cmp (int i, int j)
{
return a[i]<a[j];
}
void read ()
{
ifstream fin ("shop.in");
fin>>n>>c>>l;
int x;
for(int i=1;i<=n;++i)
{
p[i]=i;
fin>>x>>b[i];
a[i]=1;
for(int j=1;j<=x;++j)
a[i]*=c;
}
sort(p+1,p+n+1, cmp);
}
void solve ()
{
long long nr;
for(int i=n;i && l;--i)
{
nr=min(l/a[p[i]],b[p[i]]);
l-=nr*a[p[i]];
r[p[i]]=nr;
sol+=nr;
}
}
int main ()
{
read ();
solve ();
ofstream fout ("shop.out");
fout<<sol<<endl;
for (int i=1;i<=n;++i)
fout<<r[i]<<" ";
return 0;
}