Cod sursa(job #2778199)

Utilizator bostanlucastefanBostan Luca-Stefan bostanlucastefan Data 30 septembrie 2021 08:18:23
Problema Problema rucsacului Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;

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

const int N=1e3+2;
const int M=1e4+2;

struct obiect{
    int g,c;
}v[N];

int n,G,i,j;
int dp[N][M];

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

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

    dinamica();
    fout<<dp[n][G]<<'\n';
}