Cod sursa(job #863998)

Utilizator beldeabogdanBogdan Beldea beldeabogdan Data 24 ianuarie 2013 16:02:27
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");
int mass[10005];
int maxmass,nrobj;
int i,j,masa,pret;

void introduce(int pret,int masa) {
    if (masa>maxmass) return;
    if (mass[masa] < pret) mass[masa] = pret;
}

int main() {
    f >> nrobj >> maxmass;
    for (i=1;i<=nrobj;i++) {
        f >> masa >> pret;
        for (j=maxmass;j>=1;j--) {
            if (mass[j]>0) introduce(pret+mass[j],masa+j);
        }
        introduce(pret,masa);
    }
    int masacautata = -1;
    for (i=maxmass;i>=1;i--) if (mass[i] != 0) {
        if (mass[i] != 0 && mass[i] > masacautata) masacautata = mass[i];
    }
    g << masacautata;
    return 0;
}