Cod sursa(job #1922922)

Utilizator TibixbAndrei Tiberiu Tibixb Data 10 martie 2017 19:37:26
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>
#define GMAX 10005
using namespace std;
int n, g, p, gmax, _limit, pmax;
int d[GMAX];
bool u[GMAX];
ifstream _cin("rucsac.in");
ofstream _cout("rucsac.out");
int main()
{
    u[0] = 1;
    _cin >> n >> _limit;
    while(n--)
    {
        _cin >> g >> p;
        for(int i = gmax; i >= 0; i--)
        {
            if(u[i] == 1)
            {
                if(i + g <= _limit && d[i + g] < d[i] + p)
                {
                    d[i + g] = d[i] + p;
                    pmax = max(d[i + g], pmax);

                    gmax = max(i + g, gmax);

                    u[i + g] = 1;
                }
            }
        }
    }
    _cout << pmax;
    return 0;
}