Cod sursa(job #3002275)

Utilizator SerbanCaroleSerban Carole SerbanCarole Data 14 martie 2023 17:07:27
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <set>
using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

const int MAX = 1e4 + 1;

int dp[MAX] , n , g , w , p;

set<int,greater<int>>s;

int main(){

    cin >> n >> g;

    s.insert(0);

    for(int i = 1 ; i <= n ; i++){

        cin >> w >> p;

        for(auto it : s){

            if(it + w <= g){

                dp[it+w] = max(dp[it+w],dp[it]+p);

                s.insert(it+w);
            }
        }
    }

    cout << dp[g];

    return 0;
}