Cod sursa(job #1841015)

Utilizator alexandruchiriacAlexandru Chiriac alexandruchiriac Data 5 ianuarie 2017 08:11:14
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 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[nrmax];

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];
                if ( greutateMaxima < optim[ j+g[i]] )
                    greutateMaxima = optim[ j+g[i] ] ;
            }
        }
    }

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



    return 0;
}