Pagini recente » Cod sursa (job #1122992) | Cod sursa (job #130189) | Cod sursa (job #2012651) | Cod sursa (job #721883) | Cod sursa (job #1097129)
#include <fstream>
#include <iostream>
using namespace std;
#define maxN 5000
#define maxG 10000
#define maxW 10000
#define maxP 10000
int N, G, buffer[maxG+1];
int max() {
int m = buffer[1];
for(int i = 2; i <= G; i++) {
if(buffer[i] > m) {
m = buffer[i];
}
}
return m;
}
int main() {
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int W, P;
in >> N >> G;
for(int i = 0; i < N; i++) {
in >> W >> P;
for(int j = G-W; j >= 0; j--) {
if(buffer[j]+P > buffer[j+W]) {
buffer[j+W] = buffer[j]+P;
}
}
}
out << max();
return 0;
}