Cod sursa(job #2202247)

Utilizator alex.cojocaruAlex Cojocaru alex.cojocaru Data 8 mai 2018 09:12:22
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <algorithm>
#include <stdio.h>

#define NMAX 5001

using namespace std;

int mat [ 2 ] [ NMAX * 2 ] ;

int main() {

  FILE *fin, *fout ;
  fin = fopen ("energii.in", "r" ) ;
  fout = fopen ("energii.out", "w" ) ;
  int g, w, e, l, i, c, j ;
  fscanf (fin, "%d%d", &g, &w ) ;
  l = 0 ;
  for (i = 0 ; i < g ; i++ ) {
    fscanf (fin, "%d%d", &e, &c ) ;
    for (j = 0 ; j <= w ; j++ ) {
      mat[1-l][j] = mat[l][j] ;
      if (e <= j ) {
        mat[1-l][j] = max(mat[1-l][j], (mat[l][j-e] + c) ) ;
      }
    }
    l = 1 - l ;
  }
  fprintf (fout, "%d", mat[l][w] ) ;
  return 0;
}