Pagini recente » Cod sursa (job #624430) | Cod sursa (job #2974667) | Cod sursa (job #1154952) | Borderou de evaluare (job #1921107) | Cod sursa (job #2673390)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int n,GMax,
G[5001],
V[5001],
C[5001][10001];
int main()
{
in>>n>>GMax;
for(int i = 1; i <= n; i++)
in>>G[i]>>V[i];
for(int i = 1; i <= n; i++)
for(int j = 1; j <= GMax; j++)
if(G[i] > j)
C[i][j] = C[i-1][j];
else
C[i][j] = max(C[i-1][j], V[i] + C[i-1][j-G[i]]);
out<<C[n][GMax];
}