Pagini recente » Cod sursa (job #646438) | Cod sursa (job #167132) | Cod sursa (job #2194122) | Cod sursa (job #2900278) | Cod sursa (job #2123858)
#include <fstream>
#define INF 10000000
#define lim_1 1005
#define lim_2 5005
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int dp[lim_1][lim_2],w[lim_1],v[lim_1];
int main()
{
int n,x,y,S,i,j;
f>>n>>S;
for (i=1;i<=n;i++)
f>>v[i]>>w[i];
for (j=0;j<=S;j++)
dp[0][j]=INF;
for (i=1;i<=n;i++)
for (j=1;j<=S;j++)
if (v[i]<=j)
dp[i][j]=min(dp[i-1][j],dp[i-1][j-v[i]]+w[i]);
else dp[i][j]=min(dp[i-1][j],w[i]);
if (dp[n][S]!=INF)
g<<dp[n][S];
else g<<-1;
return 0;
}