Cod sursa(job #3266549)

Utilizator divadddDavid Curca divaddd Data 9 ianuarie 2025 13:58:46
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 5002;
const int VMAX = 1e4+2;
using pii = pair<int, int>;
int n,g,dp[VMAX];
pii v[NMAX];

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

template<typename T>
void maxSelf(T &a, T b){
  a = max(a, b);
}

int main() {
  fin >> n >> g;
  for(int i = 1; i <= n; i++){
    int w, p;
    fin >> w >> p;
    v[i] = {w, p};
  }
  for(int i = 1; i <= n; i++){
    auto [w, p] = v[i];
    for(int j = g-w; j >= 0; j--){
      maxSelf(dp[j+w], dp[j]+p);
    }
  }
  fout << dp[g];
  return 0;
}