Pagini recente » Cod sursa (job #879790) | Cod sursa (job #682338) | Cod sursa (job #1741712) | Cod sursa (job #978792) | Cod sursa (job #1841014)
#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];
}
}
for ( int i = 1 ; i <= greutate ; i++ )
if ( greutateMaxima < optim[i] )
greutateMaxima = optim[i];
fout << greutateMaxima;
return 0;
}