Cod sursa(job #3169731)

Utilizator octavian202Caracioni Octavian Luca octavian202 Data 15 noiembrie 2023 20:41:41
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

const int NMAX = 5005, SMAX = 10000;
int dp[SMAX + 5], n, c[NMAX], e[NMAX], s;

int main() {

    fin >> n >> s;
    for (int i = 1; i <= n; i++) {
        fin >> e[i] >> c[i];
    }

    for (int i = 1; i <= SMAX; i++)
        dp[i] = 1e9;

    for (int i = 1; i <= n; i++) {
        for (int sum = SMAX - e[i]; sum >= 0; sum--) {
            dp[sum + e[i]] = min(dp[sum + e[i]], dp[sum] + c[i]);
        }
    }

    int res = 1e9;
    for (int i = s; i <= SMAX; i++) {
        res = min(res, dp[s]);
    }

    fout << res;

    return 0;
}