Pagini recente » Cod sursa (job #921868) | Cod sursa (job #868582) | Cod sursa (job #1973545) | Cod sursa (job #1098977) | Cod sursa (job #2971151)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
struct obj
{
int g , c;
}v[5001];
int n , G , C[5001][10001];
void dinamica()
{
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= G ; j++)
if(v[i].g <= j && v[i].c + C[i - 1][j - v[i].g] > C[i - 1][j])
C[i][j] = v[i].c + C[i - 1][j - v[i].g];
else
C[i][j] = C[i - 1][j];
}
int main()
{
cin >> n >> G;
for(int i = 1 ; i <= n ; i++)
cin >> v[i].g >> v[i].c;
dinamica();
cout << C[n][G];
}