Cod sursa(job #3246586)

Utilizator GabrielPopescu21Silitra Gabriel - Ilie GabrielPopescu21 Data 3 octombrie 2024 18:17:42
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;

int dp[5005], w[5005], p[5005];

int main()
{
    ifstream cin("energii.in");
    ofstream cout("energii.out");
    int n, G;
    cin >> n >> G;

    for (int i = 1; i <= n; ++i)
        cin >> w[i] >> p[i];

    for (int i = 1; i <= G; ++i)
        dp[i] = 10000000;

    dp[0] = 0;

    for (int i = 1; i <= n; ++i)
        for (int j = G; j >= w[i]; --j)
            dp[j] = min(dp[j], dp[j - w[i]] + p[i]);

    int ans = 10000000;
    for (int i = G; i <= G; ++i)
        ans = min(ans, dp[i]);

    cout << ((ans == 10000000) ? -1 : ans) << endl;

    return 0;
}