Cod sursa(job #3348904)

Utilizator RazvanVelcuVelcu Razvan RazvanVelcu Data 24 martie 2026 16:54:56
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;

#define int long long

struct Energie {
    int nr, cost;
};

Energie v[100001];
int dp[10001]; // doar pana la k

signed main()
{
    ifstream cin("energii.in");
    ofstream cout("energii.out");

    int n, k;
    cin >> n >> k;

    for (int i = 1; i <= n; i++)
        cin >> v[i].nr >> v[i].cost;

    for (int i = 0; i <= k; i++)
        dp[i] = LLONG_MAX;

    dp[0] = 0;

    for (int i = 1; i <= n; i++)
    {
        for (int j = k; j >= 0; j--)
        {
            if (dp[j] != LLONG_MAX)
            {
                int nxt = min(k, j + v[i].nr);
                dp[nxt] = min(dp[nxt], dp[j] + v[i].cost);
            }
        }
    }

    if (dp[k] == LLONG_MAX)
        cout << -1;
    else
        cout << dp[k];

    return 0;
}