Pagini recente » Cod sursa (job #459563) | Cod sursa (job #700067) | Cod sursa (job #1551064) | Cod sursa (job #2278745) | Cod sursa (job #2193491)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
const int NMAX = 1e4 + 5;
const int GMAX = 5e3 + 5;
int w[NMAX], p[NMAX], a[NMAX][GMAX];
int main()
{
int n, G;
f >> n >> G;
for(int i = 1; i <= n; i++)
f >> w[i] >> p[i];
int l = 0;
for(int i = 1; i <= n; i++, l = 1 - l)
for(int j = 1; j <= G; j++)
{
a[1 - l][j] = a[l][j];
if(w[i] <= j)
a[1 - l][j] = max(a[1 - l][j], a[l][j - w[i]] + p[i]);
}
g << a[l][G];
}