Cod sursa(job #2044538)

Utilizator Cristi_ChiraChira Cristian Cristi_Chira Data 21 octombrie 2017 10:56:31
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#define dm 1005
#define DM 5005
#define gr first
#define prof second
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
//pair < int, int > rucsac[DM];
int gr[DM];
int prof[DM];
int n, g;
int dp[3][dm];
int main()
{
    fin >> n >> g;
    for(int  i = 1; i <= n ; i++)
        fin >> gr[i] >> prof[i];
    for(int i = 1; i <= n; i++){
        for(int  j = 1; j <= g; j++)
        {
            if(gr[i] <= j)
            dp[i][j] = max(dp[i-1][j], dp[i-1][j - gr[i]] + prof[i]);
            else
            dp[i][j] = dp[i-1][j];
        }

    }
    fout << dp[n][g];
    return 0;
}