Cod sursa(job #2508971)

Utilizator Florinos123Gaina Florin Florinos123 Data 13 decembrie 2019 16:01:03
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f ("rucsac.in");
ofstream g ("rucsac.out");

int n, i, j, gmax, weight[5001], value[5001], a[5001][10001];

void read ()
{
    f >> n >> gmax;
     for (i=1; i<=n; i++)
         f >> weight[i] >> value[i];
}

int main()
{
   read();
      for (i=1; i<=n; i++)
           for (j=1; j<=gmax; j++)
           {
                  if (weight[i] <= j) {
                      a[i][j] = max( (a[i-1][j-weight[i]] + value[i] ), a[i-1][j]);
                  }
                       else {
                           a[i][j] = a[i-1][j];
                       }
           }
     g << a[n][gmax];
    return 0;
}