Pagini recente » Cod sursa (job #1164229) | Cod sursa (job #1752899) | Cod sursa (job #2310153) | Cod sursa (job #572205) | Cod sursa (job #68175)
Cod sursa(job #68175)
#include<stdio.h>
#include<math.h>
int n, c, sol[500], nr;
long long contor;
long long unsigned l;
typedef struct
{
int a, poz;
long long b;
} moneda;
moneda v[500];
void citire()
{
freopen("shop.in","r",stdin);
freopen("shop.out","w",stdout);
scanf("%d %d %llu", &n, &c, &l);
int a;
long long b;
for (int i=1; i<=n; i++)
{
scanf("%d %lld",&a, &b);
v[a].a=a; v[a].b=b;
v[a].poz=i;
}
}
void calcul()
{
int i, j;
for (i=499; i>=0; i--)
{
if (v[i].a>=0 && v[i].b!=0)
if (pow(c,v[i].a)<=l)
{
nr++;
while (pow(c,v[i].a)<=l && v[i].b)
{
sol[v[i].poz]++;
l-=pow(c,v[i].a);
v[i].b--;
contor++;
}
}
else sol[v[i].poz]=0;
}
printf("%lld\n",contor);
for (i=1; i<=n; i++)
printf("%d ",sol[i]);
}
int main()
{
citire();
calcul();
return 0;
}