Cod sursa(job #3367253)

Utilizator PortallosAlexandru Vladimir Portallos Data 6 octombrie 2026 23:28:05
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, m;
int energie[10001];
int cost[10001];
int dp[5001];


int main() {

    fin>>n>>m;

    fill(dp, dp + 5001, INT_MAX);
    dp[0] = 0;

    for(int i = 1; i <= n; i++)
        fin>>energie[i]>>cost[i];

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

    if(dp[m]==INT_MAX)
        fout<< -1;
    else
        fout<<dp[m];

    return 0;
}