Cod sursa(job #3349437)

Utilizator dominicmanancafructeDominic Tirdea dominicmanancafructe Data 29 martie 2026 16:54:25
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <algorithm>
#include <fstream>
#include <utility>
using namespace std;
ofstream fout("rucsac.out");
ifstream fin("rucsac.in");

int main(){
  int n, g;
  fin>>n>>g;

  int greutati[n+1];
  int valori[n+1];

  for (int i = 0; i < n; i++){
    int x,y;
    fin>>x>>y;
    greutati[i+1] = x;
    valori[i+1] = y;
  }

  vector<int> dp(g + 1, 0);

  for (int i = 1; i <= n; i++) {
      for (int j = g; j >= greutati[i]; j--) {
          dp[j] = max(dp[j], dp[j - greutati[i]] + valori[i]);
      }
  }

  fout << dp[g] << '\n';

  return 0;
}