Cod sursa(job #2794258)

Utilizator Andrei_Tud1Andrei Tudorache Andrei_Tud1 Data 4 noiembrie 2021 16:13:14
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <cmath>

using namespace std;

int n, i, gmax, j;
int C[5001][10001];
struct obiect{
    int g;
    int v;
}a[5001];

void rucsac()
{
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= gmax; j++)
        {
            if(a[i].g <= j && a[i].v + C[i-1][j-a[i].g] > C[i-1][j])
            {
                C[i][j] = a[i].v + C[i-1][j-a[i].g];
            }
            else
                C[i][j] = C[i-1][j];
        }
    }
}

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

    rucsac();
    cout << C[n][gmax];
    return 0;
}