Cod sursa(job #1841016)

Utilizator alexandruchiriacAlexandru Chiriac alexandruchiriac Data 5 ianuarie 2017 08:15:55
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>

#define nrmax 5001
using namespace std;

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

int n , greutate , greutateMaxima;
int g[nrmax];
int v[nrmax];
int optim[10001];

int main()
{
    f >> n >> greutate;
    for ( int i = 1; i <= n ; i++ ) f >> g[i] >> v[i];

    for ( int i = 1; i <= n; i++ )
    {
        for ( int j = greutate - g[i] ; j >= 0 ; j-- )
        {
            if ( optim[ j+g[i] ] < optim[j] + v[i] ) {
                optim [ j+g[i] ] = optim [j] + v[i];
            }
        }
    }

    for ( int i = 1 ; i <= greutate ; i++ )
        if ( greutateMaxima < optim[i] )
                greutateMaxima = optim[i];
    fout << greutateMaxima;



    return 0;
}