Cod sursa(job #1574684)

Utilizator andreiudilaUdila Andrei andreiudila Data 20 ianuarie 2016 19:28:53
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
using namespace std;

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

int n,nr, sol,i,j;
int g[5001], p[5001];
int dp[5001][10001];

int main()
{



    fin>>n>>nr;
    for( i = 1; i <= n; ++i)
        fin>>g[i]>>p[i];


    for(i=1; i<=n; ++i)
        for(j= 0; j<=nr; ++j)
        {

            dp[i][j] = dp[i-1][j];


            if(g[i]<=j)
                dp[i][j] = max(dp[i][j], dp[i-1][j-g[i]]+p[i]);
        }


    sol = dp[n][nr];

    fout<<sol;

}