Cod sursa(job #2630459)

Utilizator Ionut_neuer58Raducu Ioan Stefan Ionut_neuer58 Data 25 iunie 2020 23:43:05
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

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

int n, g, line;
int w[5001], p[5001];
int mat[2][10001];

void readit()
{
    in>>n>>g;
    for(int i=1; i<=n; i++) in>>w[i]>>p[i];
}

int main()
{
    readit();
    for(int i=1; i<=n; i++)
    {
        line=1-line;
        for(int j=1; j<=g; j++)
        {
            mat[line][j]=mat[1-line][j];
            if(w[i]<=j)
                mat[line][j]=max(mat[line][j], mat[1-line][j-w[i]]+p[i]);
        }
    }
    out<<mat[line][g];
    return 0;
}