Cod sursa(job #272232)

Utilizator pedobearBacauanu Vlad pedobear Data 6 martie 2009 17:50:21
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>

long long N,C,L,i,max,poz,s;
long long exp[33],numar[33],val[33],fol[33];

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",&exp[i],&numar[i]);
    
    val[0]=1;
    for (i=1;i<=32;i++) val[i]=val[i-1]*C;
    
    while (L>0){
          max=-1;
          for (i=1;i<=N;i++) if (exp[i]>max) {max=exp[i];poz=i;}
          exp[poz]=-1;
          if (numar[poz]>L/val[max]) i=L/val[max];
          else i=numar[poz];
          fol[poz]=i;
          L=L-fol[poz]*val[max];
          }
          
    for (i=1;i<=N;i++) s=s+fol[i];
    printf ("%lld\n",s);
    for (i=1;i<=N;i++) printf ("%lld ",fol[i]);
              
    return 0;
}