Cod sursa(job #3308693)

Utilizator raluca1977Raluca zanfir raluca1977 Data 27 august 2025 12:58:22
Problema Energii Scor 95
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");

int g, w, smax, emax, mini = 999999;
int gen[2][1001];
int dp[100001];

int main(){

    fin >> g >> w;

    for (int i = 1; i <= g; i++){
        fin >> gen[0][i] >> gen[1][i];
        emax = max(emax, gen[0][i]);
    }
    smax = emax + w;

    for (int i = 0; i <= smax; i++){
        dp[i] = 999999;
    }

    dp[0] = 0;

    for (int i = 1; i <= g; i++){
        for (int j = smax; j >= gen[0][i]; j--){
            if (dp[j - gen[0][i]] != 999999){
                dp[j] = min(dp[j], dp[j - gen[0][i]] + gen[1][i]);
            }
        }
    }

    for (int i = w; i <= smax; i++){
        mini = min(mini, dp[i]);
    }

    fout << mini;
    return 0;
}