Pagini recente » Cod sursa (job #2866165) | Cod sursa (job #1214760) | Cod sursa (job #3178295) | Cod sursa (job #1934271) | Cod sursa (job #2613386)
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int dp[1001][10001];
struct ura{
short int e,c;
};
ura v[1001];
int main()
{
int n,e,rez=0,i,j;
cin>>n>>e;
for(i=1;i<=n;i++)
{
cin>>v[i].e>>v[i].c;
}
for(i=1;i<=n;i++)
for(j=1;j<=10000;j++)
{
if(j>=v[i].e){
if(dp[i-1][j]){
dp[i][j]=dp[i-1][j];
if(dp[i][j-v[i].e]+v[i].c)
dp[i][j]=min(dp[i][j-v[i].e]+v[i].c,dp[i][j]);
}
else
dp[i][j]=dp[i][j-v[i].e]+v[i].c;
}
if(j>=e){
if(rez==0)
rez=dp[i][j];
else
rez=min(rez,dp[i][j]);
}
}
if(rez==0)
cout<<-1;
else
cout<<rez;
return 0;
}