Pagini recente » Cod sursa (job #1030373) | Cod sursa (job #2048773) | Cod sursa (job #1381423) | Cod sursa (job #489240) | Cod sursa (job #1540962)
#include <iostream>
#include <map>
#define GMax 10001
using namespace std;
unsigned int mp[GMax];
unsigned int N, W, value, weight;
int main() {
freopen("rucsac.in", "rt", stdin);
freopen("rucsac.out", "wt", stdout);
cin >> N >> W;
for (unsigned int i = 0; i < N; i++) {
cin >> weight >> value;
if (mp[weight] < value)
mp[weight] = value;
for (unsigned int j = W; j > 0; j--)
if (j + weight <= W && mp[j + weight] < mp[j] + value)
mp[j + weight] = mp[j] + value;
}
unsigned int vMax = 0;
for (unsigned int i = W; i > 0; i--)
if (mp[i] > vMax)
vMax = mp[i];
cout << vMax;
return 0;
}