Pagini recente » Cod sursa (job #2661585) | Cod sursa (job #1357977) | Cod sursa (job #1205703) | Cod sursa (job #1414600) | Cod sursa (job #3167558)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 5002
#define MMAX 100001
int g[NMAX], p[NMAX], d[MMAX];
int main(void){
ofstream cout("rucsac.out");
ifstream cin("rucsac.in");
int n, m;
cin >> n >> m;
for(int i = 1;i<=n;i++){
cin >> g[i] >> p[i];
}
d[0] = 1;
int maxim = -1;
for(int i = 1;i<=n;i++){
for(int j = m;j>=0;j--){
if(d[j] != 0 && j + g[i] <= m){
d[j + g[i]] = max( d[ j + g[i]], d[j] + p[i]);
maxim = max(maxim, d[j + g[i]]);
}
}
}
cout << maxim - 1;
}