Cod sursa(job #2774974)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 13 septembrie 2021 18:51:40
Problema Shop Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
long long l,y,n,c,a[31],b[31],m,j,i,x[31],z;
long long P(long long x,long long n)
{
    return !n?1:(n%2?x*P(x,(n-1)/2)*P(x,(n-1)/2):P(x,n/2)*P(x,n/2));
}
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,b+i);
    while(l) {
        for(m=-1,j=0,i=1;i<=n;++i)
            if(m<a[i])
                m=a[i],j=i;
        y=P(c,m),x[j]=l/y<b[j]?l/y:b[j],a[j]=-1,l-=(x[j]*y),z+=x[j];
    }
    printf("%lld\n",z);
    for(i=1;i<=n;++i)
        printf("%lld ",x[i]);
    return 0;
}