Cod sursa(job #2708050)

Utilizator EckchartZgarcea Robert-Andrei Eckchart Data 18 februarie 2021 11:08:43
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
#include <cassert>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pi = pair<int, int>;
using pl = pair<ll, ll>;
using pd = pair<double, double>;
using pld = pair<ld, ld>;


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

    int G, W;
    cin >> G >> W;

    vector<int> dp(W + 1, 2e9);
    while (G--)
    {
        int EG, CG;
        cin >> EG >> CG;

        for (int i = EG; i <= W; ++i)
        {
            dp[i] = min(dp[i], CG + dp[i - EG]);
        }
        for (int i = 1; i <= min(W, EG); ++i)
        {
            dp[i] = min(dp[i], CG);
        }
    }

    cout << (dp[W] == 2e9 ? -1 : dp[W]);
}