Cod sursa(job #3245811)

Utilizator GabrielPopescu21Silitra Gabriel - Ilie GabrielPopescu21 Data 30 septembrie 2024 18:34:21
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;

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

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 <= n; ++i)
        for (int j = G; j >= w[i]; --j)
            dp[j] = max(dp[j], dp[j-w[i]]+p[i]);

    int ans = INT_MAX;
    for (int i = 1; i <= G; ++i)
        if (dp[i] >= G)
            ans = min(ans, dp[i]);

    cout << ans;

    return 0;
}