Cod sursa(job #1783545)

Utilizator BarbumateiBarbu Matei Barbumatei Data 19 octombrie 2016 09:22:57
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda cerculdeinfo-lectia3-programaredinamica1 Marime 0.41 kb
#include <stdlib.h>
#define maxim(a, b) ((a > b) ? a : b );
int d[10001];
int main(){
  int n, g, i, j, w, p;
  FILE *fin, *fout;
  fin=fopen("rucsac.in", "r");
  fout=fopen("rucsac.out", "w");
  fscanf(fin, "%d%d", &n, &g);
  for(i=1; i<=n; i++){
    fscanf(fin, "%d%d", &w, &p);
    for(j=g; j>=w; j--)
      d[j]=maxim(d[j], d[j-w] + p);
  }
  fprintf(fout, "%d", d[g]);
  fclose(fin);
  fclose(fout);
    return 0;
}