Cod sursa(job #2975269)

Utilizator vladburacBurac Vlad vladburac Data 5 februarie 2023 23:16:23
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 5e3;
const int GMAX = 1e4;

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

int g[NMAX];
int p[NMAX];
int dp[GMAX+1];
int main() {
  int n, G, i, gr, ans;
  fin >> n >> G;
  for( i = 0; i < n; i++ ) {
    fin >> g[i] >> p[i];
  }
  ans = 0;
  for( i = 0; i < n; i++ ) {
    for( gr = G; gr >= g[i]; gr-- ) {
      dp[gr] = max( dp[gr], dp[gr-g[i]] + p[i] );
      ans = max( ans, dp[gr] );
    }
  }
  fout << ans;
  return 0;
}