Cod sursa(job #2971151)

Utilizator RORO123bBarbulescu Robert RORO123b Data 26 ianuarie 2023 18:58:55
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

struct obj
{
    int g , c;
}v[5001];

int n , G , C[5001][10001];

void dinamica()
{
    for(int i = 1 ; i <= n ; i++)
        for(int j = 1 ; j <= G ; j++)
            if(v[i].g <= j && v[i].c + C[i - 1][j - v[i].g] > C[i - 1][j])
                C[i][j] = v[i].c + C[i - 1][j - v[i].g];
            else
                C[i][j] = C[i - 1][j];
}

int main()
{
    cin >> n >> G;
    for(int i = 1 ; i <= n ; i++)
        cin >> v[i].g >> v[i].c;

    dinamica();
    cout << C[n][G];
}