Cod sursa(job #2989630)

Utilizator NarcisMMic Narcis NarcisM Data 6 martie 2023 20:43:01
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, gmax, g[5001], v[5001], dp[100001], vmax;
int main(){
    fin >> n >> gmax;
    for(int i = 1; i <= n; i++)
        fin >> g[i] >> v[i];
    dp[0] = 1;
    for(int i = 1; i <= n; i++){
        for(int j = gmax - g[i]; j >= 0; j--){
            if(dp[j] > 0){
                if(dp[j + g[i]] == 0 || (dp[j + g[i]] != 0 && dp[j + g[i]] < dp[j] + v[i]))
                    dp[j + g[i]] = dp[j] + v[i];
                vmax = max(vmax, dp[j + g[i]]);
            }
        }
    }
    fout << vmax - 1;
    return 0;
}