#include <stdio.h>
#include <stdlib.h>

#define M 18
#define N 5

int size[N]={ 3, 4, 7, 8, 9},
    val[N] ={ 4, 5,10,11,13},
    cost[M],best[M];

void main()
{
   int element, actsize;

   clrscr();
   for (element=0; element<N; element++)
   {
      for (actsize=0; actsize<M; actsize++)
      {
         if (actsize>=size[element] &&
             cost[actsize]<cost[actsize-size[element]]+val[element])
         {
            cost[actsize]=cost[actsize-size[element]]+val[element];
            best[actsize]=element;
         }
      }
      printf("\n");
      for (actsize=0; actsize<M; actsize++)
         printf("%2d|", actsize);
      printf("\n");
      for (actsize=0; actsize<M; actsize++)
         printf("%2d|", cost[actsize]);
      printf("\n");
      for (actsize=0; actsize<M; actsize++)
         printf(" %c|", best[actsize]+'A');
      printf("\n");
   }
}