Cod sursa(job #2109117)

Utilizator KOzarmOvidiu Badea KOzarm Data 19 ianuarie 2018 10:00:28
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

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

int n,k,a[5002],e,c,Min=2000000000;

int main()
{
    fin>>n>>k;
    for(int i=1;i<=k;i++)
        a[i]=2000000000;

    while(n)
    {
        n--;
        fin>>e>>c;
        if(e>=k)
        {
            if(c<Min)
                Min=c;
        }
        else
        {
            for(int i=k;i>0;i--)
            if(a[i]!=2000000000)
            {
                if(i+e>=k)
                    Min=min(Min,a[i]+c);
                else
                    a[i+e]=min(a[i+e],a[i]+c);
            }
            a[e]=min(c,a[e]);
        }
    }
    if(Min==2000000000)
        fout<<-1;
    else
        fout<<Min;
    return 0;
}