Pagini recente » Cod sursa (job #219356) | Cod sursa (job #1929860) | Cod sursa (job #737267) | Cod sursa (job #2964811) | Cod sursa (job #2613401)
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int dp[1001][5001];
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<=e;j++)
{
if(dp[i-1][j]==0)
dp[i][j]=dp[i][max(0,j-v[i].e)]+v[i].c;
else
dp[i][j]=min(dp[i-1][j],dp[i][max(0,j-v[i].e)]+v[i].c);
}
for(i=1;i<=n;i++)
{
if(dp[i][e]){
if(rez==0)
rez=dp[i][e];
else
rez=min(rez,dp[i][e]);
}
}
if(rez==0)
cout<<-1;
else
cout<<rez;
return 0;
}