Cod sursa(job #517491)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 28 decembrie 2010 22:48:29
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>

long long v[50],a[50],w[50],n,c,l,i,p,x,y,s;

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",&x,&y);
        v[x]=y;a[x]=i;
        if (x>p) p=x;
    }
    x=1;
    for (i=1;i<=p;++i) x*=c;
    for (i=p;i>=0;--i)
    {
        if (v[i]!=0)
        {
            if (l/x>=v[i])
            {
                w[a[i]]=v[i];
                l-=v[i]*x;
            }
            else
            {
                w[a[i]]=l/x;
                l%=x;
            }
        }
        x/=c;
    }
    for (i=1;i<=n;++i) s+=w[i];
    printf("%lld\n",s);
    for (i=1;i<=n;++i) printf("%lld ",w[i]);
    return 0;
}