Cod sursa(job #2923960)

Utilizator tallianfranciskaFranciska Tallian tallianfranciska Data 21 septembrie 2022 21:08:00
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.41 kb
// hatizsak.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <fstream>
#include <queue>

#define ll long long 
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

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

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file