Cod sursa(job #2770522)

Utilizator AlexSerban21Serban Alexandru AlexSerban21 Data 21 august 2021 16:13:27
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int n,g,i,j,maxc,ok,minc=10000001,a[5001],b[5001],f[10000001];
int main()
{
    fin>>n>>g;
    for (i=1; i<=n; i++)
        fin>>a[i]>>b[i];
    for (i=1; i<=n; i++)
    {
        for (j=maxc; j>0; j--)
        {
            if (f[j]!=0)
            {
                if (f[j]+b[i]>f[j+a[i]])
                    f[j+a[i]]=f[j]+b[i];
                if (j+a[i]>maxc)
                    maxc=j+a[i];
            }
        }
        if (b[i]>f[a[i]])
        {
            f[a[i]]=b[i];
            maxc=a[i];
        }
    }
    for (i=maxc; i>=g; i--)
    {
        if (f[i]<minc&&f[i]!=0)
        {
            minc=f[i];
            ok=1;
        }
    }
    if (ok==1)
        fout<<minc;
    else
        fout<<0;
    return 0;
}