Pagini recente » Cod sursa (job #212794) | Cod sursa (job #2094621) | Cod sursa (job #2481127) | Cod sursa (job #2345692) | Cod sursa (job #2478195)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
const int N = 5005, M = 10005;
int w[N], p[N], d[2][M];
int main()
{
ios::sync_with_stdio(false);
fin.tie(0);
int n, m;
fin >> n >> m;
for(int i = 1; i <= n; ++i) fin >> w[i] >> p[i];
for(int i = 1; i <= n; ++i) {
for(int j = 0; j <= m; ++j) {
d[1][j] = d[0][j];
if(j >= w[i]) d[1][j] = max(d[1][j], d[0][j - w[i]] + p[i]);
}
for(int j = 0; j <= m; ++j) d[0][j] = d[1][j];
}
fout << d[1][m];
return 0;
}