Cod sursa(job #2480773)

Utilizator Bogdy_PPrunescu Bogdan Bogdy_P Data 26 octombrie 2019 10:00:49
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
#define MOD 194767
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
struct Obiect
{
    int w, p;
}O[5010];
int n, g, sol[5010][5010], gm;
int main()
{
    in >> n >> g;
    for(int i = 1;i <= n;i++)
        in >> O[i].w >> O[i].p;
    for(int i = 1;i <= n;i++)
        for(int gm = 0;gm <= g;gm++)
    {
        if(gm >= O[i].w) sol[i][gm] = max(sol[i - 1][gm], sol[i - 1][gm - O[i].w] + O[i].p);
        else sol[i][gm] = sol[i - 1][gm];
    }
    out << sol[n][g];
    return 0;
}