Pagini recente » Cod sursa (job #2083393) | Cod sursa (job #1881425) | Cod sursa (job #2962168) | Cod sursa (job #2551032) | Cod sursa (job #2867453)
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
const int INF = 1e9 + 7;
int prof[5005], g[5005], dp[10005];
int main()
{
int n, i, j, gmax;
cin >> n >> gmax;
for(i = 1; i <= n; i++)
cin >> g[i] >> prof[i];
int ans = 0;
for(i = 1; i <= n; i++){
for(j = gmax - g[i]; j >= 0; j--)
if(dp[j + g[i]] < dp[j] + prof[i]){
dp[j + g[i]] = dp[j] + prof[i];
ans = max(dp[j + g[i]], ans);
}
}
cout << ans;
return 0;
}