Pagini recente » Borderou de evaluare (job #927424) | Borderou de evaluare (job #883301) | Borderou de evaluare (job #1650738) | Borderou de evaluare (job #134756) | Cod sursa (job #1741705)
#include<fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int G, W, a[10010],x,y;
int main(){
cin >> G >> W;
for(int i = 0; i<=W;i++)
a[i] = 10000000;
for (int i = 0 ; i < G; i++){
cin >> x >>y;
if (x >= W){
if (a[W]>y){
a[W] = y;
}
}
for(int j = W; j>0;j--){
if (j<x){
a[j]=min(a[j],y);
}else {
a[j]=min(a[j-x]+y,a[j]);
}
}
}
if (a[W]==10000000){cout<<"-1";return (0);}
cout <<a[W];
}