Cod sursa(job #2477192)

Utilizator XXMihaiXX969Gherghinescu Mihai Andrei XXMihaiXX969 Data 19 octombrie 2019 19:18:42
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

const int DIM = 5007;
const int DIM1 = 1e4+7;
int W[DIM];
int P[DIM];

int dp[DIM][DIM1];

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int N,G;
    cin >> N >> G;
    for(int i = 1;i <= N;i++)
        cin >> W[i] >> P[i];

    for(int i = 1;i <= N;i++)
        for(int cw = 0;cw <= G;cw++)
        {
          dp[i][cw]=dp[i-1][cw];
          if(W[i] <= cw)
            dp[i][cw] = max(dp[i][cw],dp[i - 1][cw - W[i]] + P[i]);
        }
        cout << dp[N][G];
    return 0;
}