Pagini recente » Cod sursa (job #2031138) | Cod sursa (job #255047) | Cod sursa (job #2212986) | Cod sursa (job #1031456) | Cod sursa (job #2134033)
#include <bits/stdc++.h>
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;
}