Cod sursa(job #2695274)

Utilizator pielevladutPiele Vladut Stefan pielevladut Data 12 ianuarie 2021 12:41:49
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

#define int long long

using namespace std;

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

int n, m, sum;

struct elem{
    int energie, cost;
};

elem v[1005];

int dp[5005];

int32_t main()
{
    fin >> n >> m;
    for(int i = 1; i <= n; i ++)
    {
        fin >> v[i].energie >> v[i].cost;
        sum += v[i].energie;
    }
    for(int i = 1; i <= m; i ++)
        dp[i] = INT_MAX;

    dp[0] = 0;

    for(int i = 1; i <= n; i ++)
    {
        for(int j = m - v[i].energie; j >= 0; j --)
        {
            if(dp[j] != INT_MAX)
            dp[j + v[i].energie] = min(dp[j + v[i].energie], dp[j] + v[i].cost);
        }
    }
    fout << dp[m] << '\n';
}