Cod sursa(job #3166812)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 9 noiembrie 2023 17:17:28
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define MAX 200000025
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,G,e[1001],c[1001],d[5005];
int main()
{
    cin>>n>>G;
    for(int i=1;i<=n;i++)
        cin>>e[i]>>c[i];
    for(int i=1;i<=G;i++)
        d[i]=MAX;
    d[0]=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=G-1;j>=0;j--)
            if(d[j]!=MAX)
        {
            if(j+e[i]>G)
            {
                d[G]=min(d[G],d[j]+c[i]);
            }
            else
             d[j+e[i]]=min(d[j+e[i]],d[j]+c[i]);
        }
    }
    if(d[G]==MAX)
        cout<<-1;
    else
        cout<<d[G];
    return 0;
}