Cod sursa(job #2364235)

Utilizator mirelPmirel p mirelP Data 3 martie 2019 22:50:52
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[400001],last,n,m,i,j,x,y,k,cnt;

int main()
{
    fin>>n>>m;
    for(i=1;i<=15050;i++)v[i]=90000001;
    v[0]=0;
    for(i=1;i<=n;i++)
    {
        fin>>x>>y;
        for(j=last;j>=0;j--)

            if(v[j]!=90000001)
        {
            if(v[j+x]>v[j]+y)
            v[j+x]=v[j]+y;
             if(last<j+x && j+x<=m)
                last=j+x;
                cnt=max(cnt,j+x);
        }
    }
    bool ok=0;
    k=90000001;
    for(i=cnt;i>=m;i--)
        if(k>v[i])
            k=v[i];
        if(k!=90000001)
    {
        ok=1;
        fout<<k;

    }
    else
        fout<<-1;
    return 0;
}