Pagini recente » Cod sursa (job #153855) | Cod sursa (job #1970844) | Cod sursa (job #2916174) | Cod sursa (job #3168246) | Cod sursa (job #3273218)
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int e[10001];
int c[10001];
int dp[1001][5001];
int sum=0;
int n;
int w;
int main()
{
cin>>n>>w;
for(int i=1;i<=n;i++)
{
cin>>e[i]>>c[i];
dp[i][0]=0;
}
for(int j=1;j<=w;j++)
{
dp[0][j]=10000001;
}
for(int i=1;i<=n;i++)
{
sum+=e[i];
for(int j=1;j<=w;j++)
{
if(sum<j){dp[i][j]=10000001;}
else
{
if(j>=e[i])
dp[i][j]=min(dp[i-1][j], dp[i-1][j-e[i]]+c[i]);
else if(e[i]<j)
dp[i][j]=dp[i-1][j];
else dp[i][j]=min(dp[i-1][j], c[i]);
}
}
}
cout<<dp[n][w];
}