Pagini recente » Cod sursa (job #666513) | Cod sursa (job #1625823) | Cod sursa (job #510346) | Cod sursa (job #3293959) | Cod sursa (job #2920063)
#include <fstream>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
const int max_size = 1e3 + 1, max_dp = 15e3 + 1, INF = 1e9 + 1;
int sol[max_dp], p[max_size], e[max_size];
int main ()
{
for (int i = 1; i < max_dp; i++)
{
sol[i] = INF;
}
int n, g;
in >> n >> g;
for (int i = 1; i <= n; i++)
{
in >> e[i] >> p[i];
}
for (int i = 1; i <= n; i++)
{
for (int j = g; j > 0; j--)
{
if (j > e[i])
{
sol[j] = min(sol[j], sol[j - e[i]] + p[i]);
}
else
{
sol[j] = min(sol[j], p[i]);
}
}
}
if (sol[g] == INF)
{
sol[g] = -1;
}
out << sol[g];
in.close();
out.close();
return 0;
}