Pagini recente » Cod sursa (job #2082999) | Cod sursa (job #2474526) | Cod sursa (job #2289329) | Cod sursa (job #2287608) | Cod sursa (job #3320934)
#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(5001,10001);
b[0]=0;
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);
}
}
}
}
int mn=10001;
int eng=0;
bool bl=false;
for(int i=5000; i>=en; i--){
if(mn>b[i]){
mn=b[i];
eng=i;
bl=true;
}
}
if(bl==false){
cout<<-1;
} else{
cout<<mn;
}
}