Cod sursa(job #988525)

Utilizator claudiumihailClaudiu Mihail claudiumihail Data 23 august 2013 04:25:53
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <iostream>
#include <iterator>
#include <algorithm>

#define MAXN 5002
#define MAXG 10002

using namespace std;

int knapsack[MAXG];

int main()
{
    int n, g;
    fstream fin("rucsac.in", fstream::in);
    fstream fout("rucsac.out", fstream::out);
    
    fin >> n >> g;
    //cout << n << " " << g << endl;
    
    for (int i=0; i<n; ++i)
    {
        int w, v;
        fin >> w >> v;
        //cout << vObjs[i].w << " " << vObjs[i].v << endl;
        
        for (int j=g; j>=w; --j)
        {
            if (v + knapsack[j - w] > knapsack[j]
            {
                knapsack[j] = v + knapsack[j - w];
            }
        }
    }
    
    fout << knapsack[g] << "\n";
    
    return 0; 
}