Cod sursa(job #2400133)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 8 aprilie 2019 13:21:24
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

struct generator
{
    int energie,cost;
};
generator v[1001];

int n,w,i,j,rez,s;
int optim[1001];

int cmp(generator a, generator b)
{
    return a.cost<b.cost;
}

int main()
{
    f>>n>>w;
    for (i=1;i<=n;i++)
    {
        f>>v[i].energie>>v[i].cost;
        s+=v[i].energie;
    }
    if (s<w)
        g<<-1;
    else
    {
        for (i=1;i<=n;i++)
            for (j=w-v[i].energie;j>=0;j--)
            {
                if (optim[j+v[i].energie]<optim[j]+v[i].cost)
                {
                    optim[j+v[i].energie]=optim[j]+v[i].cost;
                    rez=max(rez,optim[j+v[i].energie]);
                }
            }
        g<<rez;
    }
    return 0;
}