Cod sursa(job #2421911)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 16 mai 2019 17:37:36
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;

int v[1000006],n,m;

int main()

{
    ifstream fin("energii.in");
    ofstream fout("energii.out");
    f>>n>>m;
    for(int i=1; i<=m; i++)
    {
        v[i]=(1<<30);
    }
    v[0]=0;
    for(int i=1; i<=n; i++)
    {
        int e,c;
        fin>>e>>c;
        for(int j=m; j>=0; --j)
        {
            if(v[j]!=(1<<30)&&j+e<=m)
            {
                v[j+e]=min(v[j+e],v[j]+c);
            }
            else
            {
                if(v[j]!=(1<<30)&&j+e>m)
                {
                    v[m]=min(v[m],v[j]+c);
                }
            }
        }
    }
    if(v[m]==(1<<30))
    {
        fout<<-1<<"\n";
        return 0;
    }
    fout<<v[m]<<"\n";
    return 0;

}