Cod sursa(job #2468128)

Utilizator AndreeaGherghescuAndreea Gherghescu AndreeaGherghescu Data 5 octombrie 2019 13:05:42
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int eg[1002],cg[1002],v[5002];

int main()
{
    int g,w,s=0,inf=10000010;
    in>>g>>w;
    for (int i=1;i<=g;i++)
    {
        in>>eg[i]>>cg[i];
        s+=eg[i];
    }
    if (s<w) out<<-1;
    else
    {
        int k;
        for (int i=1;i<=w;i++) v[i]=inf;
        for (int i=1;i<=g;i++)
        {
            for (int j=w-1;j>=0;j--)
                if (v[j]!=inf)
                {
                    if (j+eg[i]>=w)
                    {
                        k=w;
                    }
                    else k=j+eg[i];
                    if (v[j]+cg[i]<v[j+eg[i]])
                    {
                        v[k]=v[j]+cg[i];
                    }
                }
        }
        out<<v[w];
    }
    return 0;
}