Cod sursa(job #3320916)

Utilizator andrei_r4duAndrei Radu andrei_r4du Data 7 noiembrie 2025 17:58:00
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
    ifstream cin("energii.in");
    ofstream cout("energii.out");
    int ng, en;
    cin>>ng>>en;
    struct ener{
        int e;
        int c;
    };
    vector <ener>a(ng);
    for(int i=0; i<ng;i++){
        cin>>a[i].e>>a[i].c;
    }
    vector <int>b(en+1,10001);
    b[0]=-1;
    for(int i=0; i<ng; i++){
        for(int j=en; j>=0; j--){
            if(b[j]!=10001){
                if(j+a[i].e<=en){
                    b[j+a[i].e]=min(b[j+a[i].e], b[j]+a[i].c);
                }
            }
        }
    }
    if(b[en]==10001){
        cout<<-1;
    } else{
        cout<<b[en];
    }
}