Pagini recente » Cod sursa (job #2358768) | Cod sursa (job #729768) | Cod sursa (job #2827099) | Cod sursa (job #340326) | Cod sursa (job #3294586)
#include <iostream>
using namespace std;
const int MAXW=(int)(15*1e3+1);
const int INF=(int)1e9;
int dp[MAXW];
int main(){
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
int g,w,e,c;
for (int i=0;i<MAXW;i++){
dp[i]=INF;
}
cin>>g>>w;
int ans=INF;
dp[0]=0;
for (int i=0;i<g;i++){
cin>>e>>c;
for (int j=w;j>=0;j--){
if (dp[j]!=INF){
dp[j+e]=min(dp[j+e], dp[j]+c);
}
if (j+e>=w){
ans=min(ans, dp[j+e]);
}
}
}
if (ans==INF){
cout<<-1;
return 0;
}
cout<<ans;
return 0;
}