Cod sursa(job #1743312)

Utilizator Kln1000Ciobanu Bogdan Kln1000 Data 17 august 2016 22:37:40
Problema Problema rucsacului Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream f ("rucsac.in");
ofstream t ("rucsac.out");

int main()
{

    int n,g,weight,profit,max=-1;
    f>>n>>g;
    vector <int> v(n+1);
    for (int i=0; i<n; ++i)
    {
        f>>weight>>profit;
        for (int j=g-weight; j; --j)
            if(v[j]>0)
            {
                if(v[j]+profit>v[j+weight]) v[j+weight]=v[j]+profit;
                if(v[j+weight]>max) max=v[j+weight];
            }
        if(profit>v[weight]) v[weight]=profit;
        if(v[weight]>max) max=v[weight];
    }
    t<<max;
    return 0;
}