Pagini recente » Cod sursa (job #2766483) | Cod sursa (job #1062077) | Cod sursa (job #1470772) | Cod sursa (job #900816) | Cod sursa (job #40991)
Cod sursa(job #40991)
#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn = 101;
long long c;
long long l;
long long n;
long long a[maxn],nr[maxn];
long long prod;
long long sum;
long long nr1[maxn];
long long ind[maxn];
long long i;
long long sol;
long long j;
long long cmpf(const long long i, const long long j)
{
return a[i] > a[j];
}
int main()
{
freopen("shop.in","r",stdin);
freopen("shop.out","w",stdout);
scanf("%lld %lld %lld",&n, &c,&l);
for(i = 1;i <= n; ++i)
{
scanf("%lld %lld",&a[i],&nr[i]);
ind[i] = i;
}
sort(ind + 1, ind + n+ 1, cmpf);
for(i = 1;i <= n; ++i)
{
prod = 1;
for(j = 1;j <= a[ind[i]]; ++j)
{
prod *= c;
}
while(sum + prod <= l && nr1[ind[i]] < nr[ind[i]])
{
sum += prod;
nr1[ind[i]]++;
sol++;
}
}
printf("%lld\n",sol);
for(i = 1;i <= n; ++i)
{
printf("%lld ",nr1[i]);
}
printf("\n");
return 0;
}