Cod sursa(job #2417290)

Utilizator Carol_LucaCarol Luca Carol_Luca Data 29 aprilie 2019 14:30:30
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
/// energii


#include <fstream>

#include <string.h>

#define xmax (1<<30)

using namespace std;

ifstream f("energii.in");

ofstream g("energii.out");

int v[1000006],n,m;

int main()

{

    f>>n>>m;

    for(int i=1;i<=m;i++)

        v[i]=xmax;

    v[0]=0;

    for(int i=1;i<=n;i++)

    {

        int e,c;

        f>>e>>c;

        for(int j=m;j>=0;--j)

            if(v[j]!=xmax&&j+e<=m)

                v[j+e]=min(v[j+e],v[j]+c);

            else if(v[j]!=xmax&&j+e>m)

                v[m]=min(v[m],v[j]+c);

    }

    if(v[m]==xmax)

    {

        g<<-1<<'\n';

        return 0;

    }

    g<<v[m]<<'\n';

    return 0;

}