Pagini recente » Cod sursa (job #1231594) | Cod sursa (job #1971823) | Cod sursa (job #2195753) | Cod sursa (job #704697) | Cod sursa (job #2715077)
#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 5000; // nr maxim de obiecte
const int GMAX = 10000;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a[GMAX+1];
int n, G, g; // nr obiectelor, capacitatea rucsacului
int vol[NMAX+1], val[NMAX+1];
int main() {
fin >> n >> G;
for( int i = 1; i <= n; i++ )
fin >> vol[i] >> val[i];
for( int i = 1; i <= n; i++ ) {
for( int j = G; j >= vol[i]; j-- ) {
a[j] = max ( a[j], a[j-vol[i]] + val[i] );
}
}
fout << a[G] << '\n'; // val maxima obtinua
return 0;
}