Pagini recente » Cod sursa (job #1207556) | Cod sursa (job #2764313) | Cod sursa (job #1041191) | Cod sursa (job #1501247) | Cod sursa (job #2277909)
#include<fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int inf=100000;
int n,w,p[10005],g[10005],dp[10005];
int main(){
cin>>n>>w;
for(int i=1;i<=n;i++)
cin>>g[i]>>p[i];
for(int i=1;i<=w;i++)
dp[i]=inf;
for(int i=1;i<=n;i++)
for(int j=w;j>=0;j--)
if(dp[j]!=inf){
if(j+g[i]<=w)
dp[j+g[i]]=min(dp[j+g[i]],p[i]+dp[j]);
else dp[w]=min(dp[w],p[i]+dp[j]);
}
if(dp[w]==inf) cout<<-1;
else cout<<dp[w];
}