Pagini recente » Cod sursa (job #2990507) | rar44 | Cod sursa (job #656292) | Cod sursa (job #3230332) | Cod sursa (job #2723454)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
void usain_bolt()
{
ios::sync_with_stdio(false);
fin.tie(0);
}
const int N = 5e3 + 5;
int a[N], dp[2][N * 2], w[N], p[N];
int main()
{
usain_bolt();
int n, G;
fin >> n >> G;
for(int i = 1; i <= n; ++i) {
fin >> w[i] >> p[i];
}
int phase = 1;
for(int i = 1; i <= n; ++i, phase ^= 1) {
for(int j = 1; j <= G; ++j) {
dp[phase ^ 1][j] = dp[phase][j];
if(j >= w[i]) {
dp[phase ^ 1][j] = max(dp[phase ^ 1][j], dp[phase][j - w[i]] + p[i]);
}
}
}
fout << dp[phase][G] << "\n";
return 0;
}