Cod sursa(job #1602522)

Utilizator ImGeluGelu Ungur ImGelu Data 16 februarie 2016 20:12:11
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>

using namespace std;

int nrObiecte;
int greutateMaxima;
int rezultat=0;

int greutateObiect[100];
int pretObiect[100];
int 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;
}