Cod sursa(job #2468068)

Utilizator AndreeaGherghescuAndreea Gherghescu AndreeaGherghescu Data 5 octombrie 2019 12:30:46
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int eg[1002],cg[1002],v[9002];
int main()
{
    int g,w,s=0;
    in>>g>>w;
    for (int i=1;i<=g;i++)
    {
        in>>eg[i]>>cg[i];
        s+=eg[i];
    }
    if (s<w) cout<<-1;
    else
    {
        for (int i=1;i<=w;i++) v[i]=-1;
        for (int i=1;i<=g;i++)
        {
            for (int j=w;j>=0;j--)
                if (v[j]>-1)
                    if (v[j]+eg[i]>v[j+cg[i]])
                        v[j+cg[i]]=v[j]+eg[i];
        }
    }
    int i=w;
    while (i<=5002 && v[i]==-1) i++;
    out<<i;
    return 0;
}