Cod sursa(job #2154712)

Utilizator CammieCamelia Lazar Cammie Data 7 martie 2018 10:50:14
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

#define MAXN 5005

using namespace std;

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

int dp[MAXN], N, G;

struct str{
    int gr, val;
};

str v[MAXN];

inline void Read() {
    fin >> N >> G;

    for (int i = 1; i <= N; i++)
        fin >> v[i].gr >> v[i].val;

    for (int i = 1; i <= N; i++) {
        for (int j = G; j; j--) {
            if (j - v[i].gr >= 0) {
                dp[j] = max(dp[j], dp[j - v[i].gr] + v[i].val);
            }
        }
    }

    fout << dp[G];
}

int main () {
    Read();

    fin.close(); fout.close(); return 0;
}