Cod sursa(job #3356207)

Utilizator Balteanu_RaresBalteanu Rares Balteanu_Rares Data 30 mai 2026 13:13:26
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
struct ura
{
    int w,c;
};
ura v[1001],s[15001];
int main()
{
    int n,en,i,j,smax,mini=15000010,ver=1;
    cin>>n>>en;
    for(i=1;i<=n;i++)
        cin>>v[i].w>>v[i].c;
    for(i=1;i<=15000;i++)
        s[i].c=20000000;
    s[0].w=1;
    smax=0;
    for(i=1;i<=n;i++)
    {
        for(j=smax;j>=0;j--)
        {
            if(s[j].w==1)
            {
                s[j+v[i].w].w=1;
                if(s[j].c+v[i].c<s[j+v[i].w].c)
                    s[j+v[i].w].c=s[j].c+v[i].c;
                smax=j+v[i].w;
            }
        }
    }
    for(i=en;i<=en+10000;i++)
        if(s[i].c<mini && s[i].w==1)
        {
           mini=s[i].c;
           ver=0;
        }
    if(ver)
        cout<<-1;
    else
        cout<<mini;
    return 0;
}