Cod sursa(job #2405624)

Utilizator matei123Biciusca Matei matei123 Data 14 aprilie 2019 18:25:22
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda excelenta-tema5 Marime 0.56 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("rucsac.in"); ofstream cout("rucsac.out");
#define MAXN 5010
#define MAXG 10010
int N, G, Pmax;
int W[MAXN], P[MAXN];
int D[MAXN][MAXG];
int main()
{	cin>>N>>G;
    for(int i = 1; i <= N; ++i)
     	cin>>W[i]>>P[i];
    for(int i = 1; i <= N; ++i)
        for(int cw = 0; cw <= G; ++cw)
        {	D[i][cw] = D[i-1][cw];
            if(W[i] <= cw)
                D[i][cw] = max(D[i][cw], D[i - 1][cw - W[i]] + P[i]);
        }
    Pmax = D[N][G];
	cout<<Pmax;
    return 0;
}