Pagini recente » Cod sursa (job #2474061) | Cod sursa (job #86120) | Cod sursa (job #3036805) | Cod sursa (job #1251094) | Cod sursa (job #2973666)
#include <fstream>
using namespace std;
const int E = 5000;
const int INF = 1e9;
int cost[E+1];
int main()
{
ifstream in("energii.in");
ofstream out("energii.out");
int e, n;
in >> n >> e;
for (int j = 1; j <= e; j++)
{
cost[j] = INF;
}
for (int i = 0; i < n; i++)
{
int e_i, c_i;
in >> e_i >> c_i;
for (int j = e - 1; j >= 0; j--)
{
if (cost[j] != INF)
{
if (j + e_i >= e)
{
cost[e] = min(cost[e], cost[j] + c_i);
}
else
{
cost[j + e_i] = min(cost[j + e_i], cost[j] + c_i);
}
}
}
}
if (cost[e] == INF)
{
cost[e] = -1;
}
out << cost[e];
in.close();
out.close();
return 0;
}