Cod sursa(job #3309124)

Utilizator Lex._.Lex Guiman Lex._. Data 1 septembrie 2025 16:17:36
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
#define MAX 10001
#define inf ((int)1e9)
using namespace std;

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

int dp[MAX]; ///costul minim pentru a produce fiecare cantitate de energie

int main()
{
    for(int i=1; i<MAX; i++) dp[i]=inf;
    int g, w;
    in >> g >> w;
    for(int i=1; i<=g; i++)
    {
        int energie, cost;
        in >> energie >> cost;
        for(int j=MAX-1; j>=energie; j--)
        {
            dp[j]=min(dp[j], dp[j-energie]+cost);
        }
    }
    int cost_min=inf; ///costul minim
    for(int i=w; i<MAX; i++)
    {
        cost_min=min(cost_min, dp[i]);
    }
    if(cost_min==inf) out << "-1";
    else out << cost_min;

    return 0;
}