Pagini recente » Cod sursa (job #807894) | Cod sursa (job #1013683) | Monitorul de evaluare | Cod sursa (job #686581) | Cod sursa (job #1786056)
#include <cstdio>
using namespace std;
struct obj {
int mass;
int profit;
} object[5000];
int mass, objects;
int worker[10005];
void read() {
FILE *f = fopen("rucsac.in", "r");
fscanf(f, "%i%i", &objects, &mass);
for (int i = 0; i < objects; i++) fscanf(f, "%i%i", &object[i].mass, &object[i].profit);
}
void process() {
for (int i = 0; i < objects; i++) {
for (int j = mass; j >= object[i].mass; j--) {
worker[j] = (worker[j] > (worker[j - object[i].mass] + object[i].profit)) ? worker[j] : (worker[j - object[i].mass] + object[i].profit);
}
}
FILE *g = fopen("rucsac.out", "w");
fprintf(g, "%i", worker[mass]);
}
int main() {
read();
process();
}