Pagini recente » Cod sursa (job #1469437) | Cod sursa (job #2548001) | Cod sursa (job #2546166) | Cod sursa (job #2839926) | Cod sursa (job #1274937)
#include <fstream>
using namespace std;
#define MAXN 10000
#define MAXG 10000
ifstream is("rucsac.in");
ofstream os("rucsac.out");
int c[MAXN][MAXG];
int n, S, g[MAXG], v[MAXN];
int main()
{
is >> n >> S;
for ( int i = 1; i <= n; i++ )
is >> g[i] >> v[i];
for ( int i = 1; i <= n; i++ )
for ( int j = 0; j <= S; j++ )
{
c[i][j] = c[i-1][j];
if ( j >= g[i] )
if ( c[i][j] < c[i-1][j-g[i]] + v[i] )
c[i][j] = c[i-1][j-g[i]] + v[i];
}
os << c[n][S];
is.close();
os.close();
return 0;
}