Cod sursa(job #2542540)

Utilizator ionut.birisBiris Ionut ionut.biris Data 10 februarie 2020 09:39:41
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

const int NMAX = 5005;
const int GMAXX = 10005;
const int oo = (1<<30);

ifstream f("rucsac.in");
ofstream g("rucsac.out");

int N,GMax;
int Rez[GMAXX],k;
int W[NMAX],V[NMAX];

void Read(){
    f >> N >> GMax;
    for(int i = 1; i <= N;i++)
        f >> W[i] >> V[i];
}

void Solve(){
    for(int i = 1; i <= GMax;i++)
        Rez[i] = -oo;

    for(int i = 1; i <= N;i++)
        for(int j = GMax - W[i];j >=0;j--)
                Rez[j + W[i]] = max(Rez[j + W[i]] , Rez[j] + V[i]);


}


int main()
{
    Read();
    Solve();
    g << Rez[GMax];

    return 0;
}