Cod sursa(job #2468121)

Utilizator AndreeaGherghescuAndreea Gherghescu AndreeaGherghescu Data 5 octombrie 2019 13:04:06
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 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]>-1)
                {
                    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;
}