Cod sursa(job #3269019)

Utilizator donkMacarie Victor Daniel donk Data 18 ianuarie 2025 10:21:54
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;

#define MAX 10000
int G, W, e[MAX], c[MAX], dp[MAX];

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

int main()
{
    fin>>G>>W;
    for (int i = 0; i<G; i++) fin>>e[i]>>c[i];
    for (int i = 0; i<=W; i++) dp[i] = INT_MAX;
    dp[0]=0;
    for (int gen = 0; gen<G; gen++)
    {
        for (int i = W; i>=0; i--)
        {
            if (dp[i]!=INT_MAX)
            {
                int pos = min(i+e[gen], W);
                dp[pos] = min(dp[pos], dp[i]+c[gen]);
            }
        }
    }
    fout<<(dp[W]==INT_MAX)?(-1):(dp[W]);
}