Pagini recente » Cod sursa (job #692241) | Cod sursa (job #231485) | Cod sursa (job #334853) | Cod sursa (job #929596) | Cod sursa (job #2135787)
#include <fstream>
using namespace std;
int n, g, dp[2][10005], w[10005], p[10005], u;
int main(){
ifstream cin ("rucsac.in");
ofstream cout ("rucsac.out");
cin >> n >> g;
for (int i=1; i<=n; i++) cin >> w[i] >> p[i];
for (int i=1; i<=n; i++, u=1-u){
for (int j=0; j<=g; j++){
dp[u][j] = dp[1-u][j];
if (j >= w[i]) dp[u][j] = max(dp[u][j], dp[1-u][j-w[i]] + p[i]);
}
}
cout << dp[1-u][g];
return 0;
}