Pagini recente » Cod sursa (job #377927) | Cod sursa (job #150524) | Cod sursa (job #1843415) | Cod sursa (job #1529794) | Cod sursa (job #1841015)
#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;
}