Cod sursa(job #3316276)

Utilizator error500Ursaru Tudor Alexandru error500 Data 18 octombrie 2025 09:33:24
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");

const int NMAX = 5000;
const int MAXG = 10000;

int maxval[MAXG];

int main()
{
    int n, g;
    in >> n >> g;
    for(int i = 0; i < n; i++) {
        int w, p;
        in >> w >> p;
        for(int k = g; k >= 0; k--) {
            if(k + w > g)
                continue;
            {
                maxval[k+w] = max(maxval[k+w], maxval[k] + p);
            }
        }
        maxval[w] = max(maxval[w],p);
    }
    int m = 0;
    for(int i = 1; i <= g; i++)
        m = max(m, maxval[i]);
    out << m;
}