Cod sursa(job #1602514)

Utilizator ImGeluGelu Ungur ImGelu Data 16 februarie 2016 20:10:51
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
//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;
}