Pagini recente » Cod sursa (job #572800) | Cod sursa (job #1842655) | Cod sursa (job #3170678) | Cod sursa (job #1414261) | Cod sursa (job #301255)
Cod sursa(job #301255)
#include <cstdio>
int n;
long long c,l;
long long e[31];
int nr[31];
int monezi[31],suma=0;
bool b[31];
void citire()
{
int a;
long long c2;
scanf("%d%lld%lld",&n,&c,&l);
c2=c;
for(int i=1;i<=n;i++)
{
c2=c;
scanf("%d%d",&a,&nr[i]);
if(a==0)
e[i]=1;
else
{
for(int j=2;j<=a;j++)
c2=c2*c;
e[i]=c2;
}
}
}
void rezolva()
{
long long d;
long long max=0,j2;
for(int i=1;i<=n;i++)
{
max=0;
for(int j=1;j<=n;j++)
if(!b[j] && e[j]>max)
{
max=e[j];
j2=j;
}
b[j2]=true;
if(l/e[j2]>=nr[j2])
d=nr[j2];
else
d=l/e[j2];
monezi[j2]=d;
suma=suma+d;
l=l-d*e[j2];
}
}
void scrie()
{
printf("%d\n",suma);
for(int i=1;i<=n;i++)
printf("%d ",monezi[i]);
}
int main()
{
freopen("shop.in","r",stdin);
freopen("shop.out","w",stdout);
citire();
rezolva();
scrie();
return 0;
}