Pagini recente » Cod sursa (job #691821) | Cod sursa (job #106912) | Cod sursa (job #123853) | Cod sursa (job #412200) | Cod sursa (job #2973653)
#include <fstream>
using namespace std;
const int N = 5001, INF = 1e9;
ifstream in("energii.in");
ofstream out("energii.out");
int sum[N];
int main()
{
int e, k;
in >> k >> e;
for (int i = 1; i <= e; i++)
sum[i] = INF;
for (int i = 0; i < k; i++)
{
int ei, ci;
in >> ei >> ci;
for (int j = e - 1; j >= 0; j--)
{
if (sum[j] != INF)
{
if (j + ei >= e)
sum[e] = min(sum[e], sum[j] + ci);
else
sum[j + ei] = min(sum[j + ei], sum[j] + ci);
}
}
}
in.close();
if (sum[e] == INF)
sum[e] = -1;
out << sum[e];
out.close();
return 0;
}