Cod sursa(job #40115)

Utilizator razvi9Jurca Razvan razvi9 Data 27 martie 2007 11:27:18
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
long long  n,c,i,j,nr[31],m;
struct {long long a,n,i;}a[31],aux;
long long l,C[33];
int main()
{freopen("shop.in","r",stdin);
 freopen("shop.out","w",stdout);
 scanf("%lld %lld %lld",&n,&c,&l);
 C[0]=1;
 for(i=1;i<=32;i++)
  C[i]=C[i-1]*c;
 for(i=1;i<=n;i++) {scanf("%d %d",&a[i].a,&a[i].n);a[i].i=i;}
 for(i=1;i<n;i++)
  for(j=i+1;j<=n;j++)
   if(a[i].a<a[j].a) {aux=a[i];a[i]=a[j];a[j]=aux;}
 i=0;
 while(l)
 {nr[a[i].i]=l/C[a[i].a];
  if(nr[a[i].i]>a[i].n) nr[a[i].i]=a[i].n;
  m=m+nr[a[i].i];
  l=l-nr[a[i].i]*C[a[i].a];
  i++;}
 printf("%lld\n",m);
 for(i=1;i<=n;i++)
  printf("%lld ",nr[i]);
 return 0;}