Cod sursa(job #3241693)

Utilizator deliaandreeaddelia andreea deliaandreead Data 2 septembrie 2024 16:26:33
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int g[5005], p[10005];
int dp[5005][10005];

int main()
{
    int n,G;
    fin>>n>>G;
    for(int i=1;i<=n;i++){
        fin>>g[i]>>p[i];
    }
    dp[1][g[1]]=p[1];
    for(int i=2;i<=n;i++){
        for(int j=0;j<=G;j++){
            dp[i][j]=max(dp[i-1][j],dp[i-1][j-g[i]]+p[i]);
        }
    }
    int rasp=0;
    for(int j=0;j<=G;j++){
        rasp=max(rasp,dp[n][j]);
    }
    fout<<rasp;
    return 0;
}