Cod sursa(job #719185)

Utilizator GrimpowRadu Andrei Grimpow Data 21 martie 2012 15:47:06
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>

long long nr,sol[100000],a,min,max,val,n,c,l,i,x,y,m[3][100000];


int main(){

FILE *f=fopen("shop.in","r");

fscanf(f,"%lld %lld %lld",&n,&c,&l);

  for(i=1;i<=n;i++){
  fscanf(f,"%lld %lld",&x,&y);

   m[1][x]=y;
   m[2][x]=i;

   if(x>max)max=x;


  }



fclose(f);

val=1;
m[0][0]=1;

  for(i=1;i<=max;i++){
  val*=c;
  m[0][i]=val;
  }

i=max;



  while(l!=0){

     while(m[1][i]==0){
     i--;
     }


  a=l/m[0][i];

   if(a<m[1][i])min=a;
     else min=m[1][i];


   nr+=min;
   l-=m[0][i]*min;
   sol[m[2][i]]=min;

  i--;
  }


FILE *g=fopen("shop.out","w");

  fprintf(g,"%lld\n",nr);
  for(i=1;i<=n;i++){
  fprintf(g,"%lld ",sol[i]);
  }




 fclose(g);

return 0;
}