Cod sursa(job #3133661)

Utilizator SSKMFSS KMF SSKMF Data 26 mai 2023 15:30:11
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>
using namespace std;

ifstream cin ("rucsac.in");
ofstream cout ("rucsac.out");

int main ()
{
    int obiecte , limita;
    cin >> obiecte >> limita;

    vector <int> anterior(limita + 1) , actual(limita + 1);
    for (int obiect = 1 , greutate , profit ; obiect <= obiecte ; obiect++)
    {
        cin >> greutate >> profit;

        for (int indice = greutate ; indice <= limita ; indice++)
            actual[indice] = max(anterior[indice] , anterior[indice - greutate] + profit);

        for (int indice = greutate ; indice <= limita ; indice++)
            anterior[indice] = actual[indice];
    }

    cout << actual[limita];
    cout.close(); cin.close();
    return 0;
}