Pagini recente » Cod sursa (job #1576870) | Cod sursa (job #2300965) | Teoria jocurilor: numerele Sprague-Grundy | Autentificare | Cod sursa (job #1602514)
//problema rucsacului
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int nrObiecte, greutateMaxima, rezultat=0;
int greutateObiect[100], pretObiect[100], solutie[100];
int main() {
cin>>nrObiecte>>greutateMaxima;
for(int i=1; i<=nrObiecte; i++) cin>>greutateObiect[i]>>pretObiect[i];
for(int i=1; i<=nrObiecte; i++) {
for(int j=greutateMaxima; j >= 0; j--)
if(j >= greutateObiect[i]) solutie[j] = max(solutie[j], solutie[j-greutateObiect[i]] + pretObiect[i]);
}
for(int i=greutateMaxima; i>=0; i--)
if(solutie[i] > rezultat) rezultat = solutie[i];
cout<<rezultat;
return 0;
}