Cod sursa(job #2078762)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 29 noiembrie 2017 22:07:17
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int main() {

  int n, g;
  cin >> n >> g;

  vector < int > dp(g + 1);
  for (int i = 1; i <= n; i ++) {

    int w, p;
    cin >> w >> p;
    for (int cur_w = g; cur_w >= 0; cur_w --) {

      if (cur_w + w > g) {
        continue;
      }

      dp[cur_w + w] = max(dp[cur_w + w], dp[cur_w] + p);
    }
  }

  int ans = 0;
  for (int i = 0; i <= g; i ++) {
    ans = max(ans, dp[i]);
  }

  cout << ans << '\n';
}