Cod sursa(job #1956890)

Utilizator thinkphpAdrian Statescu thinkphp Data 7 aprilie 2017 09:40:31
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
#define FIN "rucsac.in"
#define FOUT "rucsac.out"
#define MAXW 10001
#define MAXC 10001
#define MAXP 10001

  int i, j, n, g;

  int w[MAXW], c[MAXC], Cost[MAXP];

int max(int a, int b) {if(a>b) return a; else return b;}

int main() {

  freopen(FIN, "r", stdin);
  freopen(FOUT, "w", stdout);

  scanf("%d %d", &n, &g);

  for(i = 1; i <= n; i++) {
      scanf("%d", &w[ i ]);
      scanf("%d", &c[ i ]);
  }

  for(i = 0; i <= n; ++i) 

      for(j = g; j >= w[i]; j--) 

          Cost[ j ] = max(Cost[j], Cost[j - w[i]] + c[i]);

  printf("%d", Cost[g]);


 return(0);
}