Cod sursa(job #2951747)

Utilizator AlbuDariusAlbu Darius AlbuDarius Data 7 decembrie 2022 10:47:13
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, gr[5001], c[5001], castig[10001], maxim = -1, g;
int main()
{
    int i, j;
    fin >> n >> g;
    for (i = 1; i <= n; i++)
        fin >> gr[i] >> c[i];
    for (i = 1; i <= n; i++)
        for (j = g - gr[i]; j >= 0; j--) {
            if (castig[j + gr[i]] < castig[j] + c[i]) {
                castig[j + gr[i]] = castig[j] + c[i];
                if (castig[j + gr[i]] > maxim)
                    maxim = castig[j + gr[i]];
            }
        }
    fout << maxim;
    return 0;
}