Pagini recente » Cod sursa (job #1169246) | Cod sursa (job #3177354) | Cod sursa (job #1481588) | Cod sursa (job #2846801) | Cod sursa (job #1450405)
#include <fstream>
#include <algorithm>
#define NMAX 1001
#define inf 2000000000
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int dp[NMAX][5*NMAX], i, j, n, m, E, e[NMAX], G, cost[NMAX], s=0;
int main()
{
f>>G>>E;
for (i=1; i<=G; ++i)
f>>e[i]>>cost[i], s+=e[i];
for (i=0; i<=G; ++i)
for (j=0; j<=E; ++j)
dp[i][j]=inf;
for (i=0; i<=G; ++i)
dp[i][0]=0;
if (s<E)
{
g<<"-1";
return 0;
}
else
for (i=1; i<=G; ++i)
{
for (j=E; j>=0; --j)
{
dp[i][j]=dp[i-1][j];
if (j>=e[i])
dp[i][j]=min(dp[i][j],dp[i-1][j-e[i]]+cost[i]);
}
}
g<<dp[G][E]<<'\n';
return 0;
}