Cod sursa(job #3319890)

Utilizator AndreiCod123Sitaru Mircea AndreiCod123 Data 3 noiembrie 2025 18:18:23
Problema Energii Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

const int NMAX = 1005;

int energie[NMAX], cost[NMAX];

int main() {


    int G, W, i, j;
    fin >> G >> W;

    for (i = 1; i <= G; i++) {
        fin >> energie[i] >> cost[i];
    }

    const int INF = 1e9; // numar mare
    int mxenergie = 0;
    for (i = 1; i <= G; i++) mxenergie += energie[i];

    vector<int> dp(mxenergie + 1, INF);
    dp[0] = 0;


    for (i = 1; i <= G; i++) {
        for (j = mxenergie; j >= energie[i]; j--) {
            dp[j] = min(dp[j], dp[j - energie[i]] + cost[i]);
        }
    }


    int sol = INF;
    for (i = W; i <= mxenergie; i++) {
        sol = min(sol, dp[i]);
    }

    fout << sol << '\n';
    return 0;
}