Cod sursa(job #2692840)

Utilizator Botzki17Botocan Cristian-Alexandru Botzki17 Data 3 ianuarie 2021 22:21:22
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
#define ll long long
const int NMAX =5000;
ll dp[NMAX+5];
ll INF = LONG_LONG_MAX;

int main()
{
    int i, n, j;
    ll g, a, b;
    fin>>n>>g;
    for(int i =1; i <=g; i++)
        dp[i] = INF;
    ll k=0;
    for(int i =1; i <=n ;i++)
    {
        fin>>a>>b;
        for(j = k; j >=0; j--)
        {
           if(dp[j] == INF)
               continue;
           ll x = min(j + a, g);
           dp[x] = min(dp[x], dp[j] + b);
           k = max(x, k);

        }
    }
    if(dp[g] == INF)
        fout<<"-1"<<"\n";
    else
    fout<<dp[g]<<"\n";
    return 0;
}