Pagini recente » Cod sursa (job #418560) | Cod sursa (job #3158044) | Cod sursa (job #1733650) | Cod sursa (job #2658845) | Cod sursa (job #2480139)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream f ("energii.in"); ofstream g ("energii.out");
int cost[1005],energie[1005];
int dp[10000005];
int main()
{ ios_base::sync_with_stdio(0);
cin.tie(0);
int n,w,maxw=0;
f>>n>>w;
for(int i=1;i<=n;maxw+=energie[i],i++) f>>energie[i]>>cost[i];
if(maxw<w)
{ g<<-1;
return 0;
}
maxw=10000+w;
for(int i=1;i<=maxw;i++) dp[i]=(1<<30);
for(int i=1;i<=n;i++)
{ for(int j=maxw-energie[i];j>=0;j--)
if(dp[j]!=(1<<30))
dp[j+energie[i]]=min(dp[j+energie[i]],dp[j]+cost[i]);
}
int ans=(1<<30);
for(int i=w;i<=maxw;i++) ans=min(ans,dp[i]);
g<<ans;
return 0;
}