Pagini recente » Cod sursa (job #199972) | Cod sursa (job #1887951) | Cod sursa (job #2002628) | Cod sursa (job #966656) | Cod sursa (job #2602428)
#include <iostream>
#include <fstream>
#include <cmath>
#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
struct generator
{
long long energy, cost;
};
long long used[10001], n, energyToRefill;
int main()
{
in >> n >> energyToRefill;
for(int i = 1; i <= 10000; i++)
{
used[i] = 1e9;
}
long long minCost = 1e9;
for(int i = 1; i <= n; i++)
{
generator a;
in >> a.energy >> a.cost;
for(int j = 1e4; j >= a.energy; j--)
{
if(j - a.energy >= 0)
{
if(used[j - a.energy] != 1e9)
{
used[j] = min(used[j], used[j - a.energy] + a.cost);
}
if(j >= energyToRefill)
{
minCost = min(minCost, used[j]);
}
}
}
}
minCost = minCost == 1e9? -1 : minCost;
out << minCost;
return 0;
}