Cod sursa(job #3317416)

Utilizator _.diannaq._Bengescu Diana _.diannaq._ Data 23 octombrie 2025 16:52:42
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;

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

struct generator {
    int en;
    int ct;
};

generator v[1002];
int dp[1002][5002];

int main() {
    int g, w;
    fin >> g >> w;

    for(int i=1; i<=g; i++)
        fin >> v[i].en >> v[i].ct;

    // initializare dp
    for(int j=0; j<=w; j++)
        dp[0][j] = 1e9; // infinit
    dp[0][0] = 0;

    for(int i=1; i<=g; i++) {
        for(int j=0; j<=w; j++) {
            dp[i][j] = dp[i-1][j]; // nu luam generatorul i
            if(j >= v[i].en)
                dp[i][j] = min(dp[i][j], dp[i-1][j - v[i].en] + v[i].ct);
        }
    }

    if(dp[g][w] >= 1e9) fout << -1;
    else fout << dp[g][w];

    return 0;
}