Cod sursa(job #1898921)

Utilizator ifrimencoAlexandru Ifrimenco ifrimenco Data 2 martie 2017 13:16:35
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
#define nmax 5002
#define gmax 10002
using namespace std;
int w[nmax], p[nmax];
int optim[gmax];

int main()
{
    ifstream f("rucsac.in");
    ofstream fout("rucsac.out");
    int i, n, j, g;
    f >> n >> g;
    for (i=1; i<=n; ++i)
        f >> w[i] >> p[i];


    int sol=0;

    for (i=1; i<=n; ++i)
      for (j=g - w[i]; j >=0; --j)
      {
        if (optim[j+w[i]] < optim[j] + p[i])
        {
        optim[j+w[i]] = optim[j] + p[i];
        if (optim[j+w[i]] > sol)
            sol=optim[j+w[i]];
        }
      }
      fout << sol;


    return 0;

}