Cod sursa(job #1768319)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 30 septembrie 2016 18:09:08
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
const int maxn = 5005;
int D[10005];
int g[maxn];
int p[maxn];
int main()
{
    int n, G;
    in >> n >> G;
    for(int i = 1; i <= n; i++)
        in >> g[i] >> p[i];
    for(int i = 1; i <= n; i++)
    {
        for(int j = G; j >= g[i]; j--)
            D[j] = max(D[j], D[j - g[i]] + p[i]);
    }
    int mx = 0;
    for(int i = 1; i <= G; i++)
        mx = max(mx, D[i]);
    out << mx << "\n";
    return 0;
}