Cod sursa(job #2190915)

Utilizator mihai.alphamihai craciun mihai.alpha Data 31 martie 2018 23:37:46
Problema Problema rucsacului Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

const int maxn = 5005, maxg = 10005;

int n, g;
int w[maxn], p[maxn];
int r[maxn];

int main()  {
    ifstream fin("rucsac.in");
    ofstream fout("rucsac.out");
    fin >> n >> g;
    for(int i = 1;i <= n;i++)
        fin >> w[i] >> p[i];
    int ans = 0;
    for(int i = 1;i <= n;i++)  {
        for(int j = g;j >= 0;j--)
            r[j + w[i]] = max(r[j + w[i]], r[j] + p[i]);
    }
    for(int i = 0;i <= g;i++)
        ans = max(ans, r[i]);
    fout << ans;
    fin.close();
    fout.close();
    return 0;
}