Cod sursa(job #2494963)

Utilizator ArkhamKnightyMarco Vraja ArkhamKnighty Data 18 noiembrie 2019 18:38:30
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

const int maxn = 5005;
const int maxc = 10005;

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

int N, C;
struct obiect
{
    int G, V;
};

obiect A[maxn];
int F[maxc];

void citire()
{
    cin >> N >> C;

    for(int i = 1 ; i <= N ; i++)
        cin >> A[i].G >> A[i].V;
}

void rezolvare()
{
    for(int i = 0 ; i <= C ; i++)
        F[i] = 0;

        for(int i = 1 ; i <= N ; i++)
            for(int j = C ; j >= A[i].G ; --j)
                if(F[j] < F[j - A[i].G] + A[i].V)
                F[j] = F[j - A[i].G] + A[i].V;

        cout << F[C];
}

int main()
{
    citire();
    rezolvare();
    return 0;
}