Pagini recente » Cod sursa (job #2627418) | Cod sursa (job #185482) | Cod sursa (job #2448593) | Cod sursa (job #1067255) | Cod sursa (job #2975890)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int gr[50005] , p[50005] , maxim , dp[5005][5005] , n , gmax;
int main()
{
f >> n >> gmax;
for (int i = 1 ; i <= n ; i++)
f >> gr[i] >> p[i];
for (int i = 1 ; i <= n ; i++)
{
for (int j = 1 ; j <= gmax ; j++)
{
if (gr[i] <= j)
dp[i][j] = max (dp[i - 1][j] , dp[i - 1][j - gr[i]] + p[i]);
else
dp[i][j] = dp[i - 1][j];
}
}
g << dp[n][gmax];
return 0;
}