Cod sursa(job #2975890)

Utilizator RobertlelRobert Robertlel Data 7 februarie 2023 20:10:45
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>


using namespace std;

ifstream f ("rucsac.in");
ofstream g ("rucsac.out");

int gr[50005] , p[50005] , maxim , dp[5005][5005] , n , gmax;

int main()
{
    f >> n >> gmax;
    for (int i = 1 ; i <= n ; i++)
        f >> gr[i] >> p[i];
    for (int i = 1 ; i <= n ; i++)
    {
        for (int j = 1 ; j <= gmax ; j++)
        {
            if (gr[i] <= j)
                dp[i][j] = max (dp[i - 1][j] , dp[i - 1][j - gr[i]] + p[i]);
                else
                    dp[i][j] = dp[i - 1][j];
        }
    }
    g << dp[n][gmax];


    return 0;
}