Cod sursa(job #2718944)

Utilizator AlexBraileanuAlexandru Braileanu AlexBraileanu Data 9 martie 2021 13:22:33
Problema Problema rucsacului Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <algorithm>
using namespace std;
struct knap {
    int w , p;
}v [1001];
int dp [5001];
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int main()
{
    int n , G , gmax = 0;
    f >> n >> G;
    for (int i = 1 ; i <= n ; ++ i){
        f >> v [i] . w >> v [i] . p;
        for(int j = gmax ; j >= 0 ; -- j)
            if (dp [j] || ! j){
                dp [j + v [i] . w] = max (dp [j] + v [i] . p , dp [j + v [i] . w]);
                gmax = max (gmax , j + v [i] . w);
            }
    }
    g << *max_element (dp + 1 , dp + 1 + G);
    return 0;
}