Cod sursa(job #3262833)

Utilizator ShAwDoRneYNacu Gabriel ShAwDoRneY Data 11 decembrie 2024 18:11:58
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int main() {

    int n,k;
    fin >> n >> k;
    vector<int> weights(n);
    vector<int> prices(n);

    for(int i=0; i<n; i++) {
        fin >> weights[i] >> prices[i];
    }

    vector<int> profit(k+1, -1);
    profit[0] = 0;

    for(int i=0; i<n; i++) {

        for(int j = k; j >= weights[i]; j--) {
            if(profit[j-weights[i]] != -1) {
                profit[j] = max(profit[j], profit[j-weights[i]] + prices[i]);

            }
        }
    }
    int profit_max = -1;

    for(auto pr : profit) {
        profit_max = max(profit_max, pr);
    }

    fout << profit_max;
    

    return 0;
}