Cod sursa(job #3220801)

Utilizator unomMirel Costel unom Data 4 aprilie 2024 20:56:19
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

ifstream in("energii.in");
ofstream out("energii.out");
int n, g, ans;
pair<int, int> v[1005];
int dp[20005];
int INF = (1 << 30);

int main()
{
    in>>n>>g;

    for(int i = 1; i<=n; i++)
    {
        in>>v[i].first>>v[i].second;
    }

    dp[0] = 0;
    for(int i = 1; i<=20000; i++)
    {
        dp[i] = INF;
    }

    for(int i = 1; i<=n; i++)
    {
        for(int j = g - 1; j>=0; j--)
        {
            if(dp[j] != INF)
            {
                dp[j + v[i].first] = min(dp[j + v[i].first], dp[j] + v[i].second);
            }
        }
    }

    ans = INF;
    for(int i = g; i<=20000; i++)
    {
        ans = min(ans, dp[i]);
    }

    out<<ans;

    return 0;
}