Pagini recente » Cod sursa (job #1981447) | Cod sursa (job #1999343) | Cod sursa (job #2649666) | Cod sursa (job #180117) | Cod sursa (job #1138323)
#include <fstream>
#define MMAX (1<<26)
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int G, w, e[1005], c[1005], cost[1005][5005];
int main()
{
int i,j;
f >> G >> w;
for(i = 1; i <= G; ++i)
{
f >> e[i] >> c[i];
}
for(j = 0; j <= w; ++j) cost[0][j] = 1 << 30;
for(i = 0; i <= G; ++i) cost[i][0] = 1 << 30;
for(i = 1; i <= G; ++i)
{
for(j = 1; j <= w; ++j)
{
if(j > e[i])
{
cost[i][j] = min(cost[i - 1][j], cost[i - 1][j - e[i]] + c[i]);
}
else
{
cost[i][j] = min(cost[i - 1][j], c[i]);
}
}
}
if(cost[G][w] != 1 << 30)
{
g << cost[G][w] << '\n';
}
else
{
g << -1 << '\n';
}
}