Cod sursa(job #458076)

Utilizator edp100Edp100 edp100 Data 22 mai 2010 22:08:40
Problema Shop Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
#define minim(a,b) (a<b ? a : b)

int n,nev,l,c,r,fol[54];
int solm,s;

struct shop
{
    int x,y;
};
shop q[55];

int main ()
{
    int i,j,z;
    freopen("shop.in","r",stdin);
    freopen("shop.out","w",stdout);
    scanf("%d%d%d",&n,&c,&l);
    for(i=1;i<=n;i++)
        scanf("%d%d",&q[i].x,&q[i].y);
    for(i=1;i<=n;i++)
    {
        solm=0;
        for(j=1;j<=n;j++)
            if(q[j].x>solm)
                solm=q[j].x;
        for(j=1;j<=n;j++)
            if(solm==q[j].x)
                break;
        r=1;
        for(z=1;z<=q[j].x || r>l;z++)
            r*=c;
        nev=l/r;
        nev=minim(nev,q[j].y);
        l-=nev*r;
        fol[j]=nev;
        q[j].x=-1;
    }
    for(i=1;i<=n;i++)
        s+=fol[i];
    printf("%d\n",s);
    for(i=1;i<=n;i++)
        printf("%d ",fol[i]);
    printf("\n");
    return 0;
}