Pagini recente » Cod sursa (job #1630376) | Cod sursa (job #1639443) | Cod sursa (job #1015439) | Cod sursa (job #887580) | Cod sursa (job #1274983)
#include <fstream>
using namespace std;
ifstream is ("rucsac.in");
ofstream os ("rucsac.out");
int N, G, v[10007], g[10007];
int sol;
int D[10007];
int main()
{
is >> N >> G;
for (int i = 1; i <= N; ++i)
is >> g[i] >> v[i];
for (int i = 1; i <= G; ++i)
D[i] = -1;
for (int i = 1; i <= N; ++i)
for (int j = G-g[i]; j >= 0; --j)
if (D[j] >= 0)
D[j+g[i]] = max(D[j] + v[i], D[j+g[i]]);
for (int i = 0; i <= G; ++i)
sol = max(sol, D[i]);
os << sol;
is.close();
os.close();
}