Cod sursa(job #3320916)
| Utilizator | 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];
}
}
