Pagini recente » Cod sursa (job #2914926) | Cod sursa (job #2673400)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
const int Nmax = 1e4 + 5;
int G[Nmax], V[Nmax],//A greutatea
n, Gmax,
A[Nmax], B[Nmax];
// A coloana anterioara, B coloana curenta
int main()
{
in>>n>>Gmax;
for(int i = 1; i <= n; i++)
in>>G[i]>>V[i];
for(int j = 1; j <= n; j++)
{
for(int i = 1; i <= Gmax; i++)
A[i] = B[i];
for(int i = 1; i <= Gmax; i++)
if(G[j] > i)
B[i] = A[i];
else
B[i] = max(A[i], A[i-G[j]] + V[j]);
}
out<<B[Gmax];
}