Cod sursa(job #1667644)

Utilizator western100Sutu Eusebiu western100 Data 29 martie 2016 08:50:07
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int a[5005];

int main()
{
    int G,W,EG,CG,i,j,s=0;
    f>>G>>W;
    for(i=1;i<=W;i++)
        a[i]=-50000000;
    for(i=1;i<=G;i++)
    {
        f>>EG>>CG;
        s+=EG;
        CG=0-CG;
        if(EG>W)
        {
                a[W]=max(a[W],CG);
        }
        else
        {
            for(j=W;j>=EG;j--)
                a[j]=max(a[j],a[j-EG]+CG);
        }
    }
    if(s<W)
        g<<-1;
    else
        g<<0-a[W];
    return 0;
}