Cod sursa(job #2857010)

Utilizator bogikanagyNagy Boglarka bogikanagy Data 24 februarie 2022 19:19:15
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <vector>
#include <climits>

//#include <algorithm>
#define ll long long 
using namespace std;

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

vector <ll> x;
ll n, g, i, maxi = -1, a, b;
void hatizsak(ll weight, ll cost)
{
    ll i;
    for (i = g - weight; i >= 1; --i)
    {
        if (x[i])
        {
            x[i + weight] = max(x[i + weight], x[i] + cost);
        }
        if (i == weight) x[i] = max(x[i], cost);
    }
}
int main()
{
    cin >> n >> g;
    x.resize(g + 1, 0);
    for (i = 1; i <= n; ++i)
    {
        cin >> a >> b;
        hatizsak(a, b);
    }

    for (i = 1; i <= g; ++i) maxi = max(maxi, x[i]);
    cout << maxi;
}