Cod sursa(job #2185974)

Utilizator EclipseTepes Alexandru Eclipse Data 25 martie 2018 11:14:13
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <climits>
#define dMAX 10000

using namespace std;

int n, capacity;
int w[dMAX + 2], p[dMAX + 2];

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

int KnapSack(int x, int cap) {
    if (cap < 0) return INT_MIN;
    if (x < 1 || cap == 0) return 0;

    int include = p[x] + KnapSack(x - 1, cap - w[x]);
    int exclude = KnapSack(x - 1, capacity);

    return max(include, exclude);

}

int main()
{
    int i, j;
    fin >> n >> capacity;
    for (i = 1; i <= n; i++) {
        fin >> w[i] >> p[i];
    }

    fout << KnapSack(n, capacity);

    return 0;
}