Cod sursa(job #2973672)

Utilizator TODEToderita Mihai TODE Data 1 februarie 2023 15:51:37
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;

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

const int N = 5000;
const int INF = 1e9;
int dp[N + 1];

int main(){
    int nr_gen , e_min;
    in >> nr_gen >> e_min;
    for(int i = 1 ; i <= e_min ; i++){
        dp[i] = INF;
    }
    for(int i = 1 ; i <= nr_gen ; i++){
        int e_i , c_i;
        in >> e_i >> c_i;
        for(int j = e_min - 1 ; j >= 0 ; j--){
            if(dp[j] != INF){
                if(j + e_i < e_min){
                    dp[j + e_i] = min(dp[j + e_i] , dp[j] + c_i);
                }
                else{
                    dp[e_min] = min(dp[e_min] , dp[j] + c_i);
                }
            }
        }
    }
    out << dp[e_min];

}