Cod sursa(job #1786056)

Utilizator dancojocaruDan Cojocaru dancojocaru Data 22 octombrie 2016 11:54:19
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#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();
}