Cod sursa(job #2340372)

Utilizator YusyBossFares Yusuf YusyBoss Data 10 februarie 2019 12:55:37
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;

int dp[10001], p[5001], g[5001];

int main() {
  ifstream cin ("rucsac.in");
  ofstream cout ("rucsac.out");
  int n, G, i, j, sol;
  cin >> n >> G;
  for (i = 0; i < n; i++)
    cin >> g[i] >> p[i];
  sol = 0;
  for (j = 0; j < n; j++) {
    for (i = G; i >= 1; i--) {
      if (g[j] <= i) {
        dp[i] = max(dp[i], dp[i - g[j]] + p[j]);
        sol = max(sol, dp[i]);
      }
    }
  }
  cout << sol;
  return 0;
}