Cod sursa(job #2192332)

Utilizator UnseenMarksmanDavid Catalin UnseenMarksman Data 5 aprilie 2018 17:13:27
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

const int inf = 1<<30;
const int nmax = 1e3+2;
const int gmax = 5e3+2;

int n, g, e[nmax], c[nmax], v[gmax], result;

int main()
{
    ifstream fin("energii.in");
    ofstream fout("energii.out");

    fin>>n>>g;
    for(int i=1; i<=n; i++)
    {
        fin>>e[i]>>c[i];
    }
    for(int i=1; i<g; i++)
    {
        v[i]=inf;
    }
    result=inf;
    for(int i=1; i<=n; i++)
    {
        for(int j=0; j<g; j++)
        {
            if(g<=j+e[i])
            {
                result=min(result,v[j]+c[i]);
            }
            else
            {
                v[j+e[i]]=min(v[j+e[i]],v[j]+c[i]);
            }
        }
    }
    if(result!=inf)
    {
        fout<<result;
    }
    else
    {
        fout<<"-1";
    }
    return 0;
}