Cod sursa(job #1446521)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 2 iunie 2015 08:36:27
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int n, w;
int i, j, maxim;
int a[10001];

struct en
{
    int cant, cost;
}b[5001];

int main()
{
    f >> n >> w;
    for (i = 1; i <= n; i++)
        f >> b[i].cant >> b[i].cost;

    for (i = 1; i <= n; i++)
        for (j = w - b[i].cant; j >= 0; j--)
            if (a[j+b[i].cant] < a[j] + b[i].cost)
            {
                a[j+b[i].cant] = a[j] + b[i].cost;
                if (maxim < a[j+b[i].cant])
                    maxim = a[j+b[i].cant];
            }

    g << maxim;
}