Pagini recente » Cod sursa (job #2134869) | Cod sursa (job #3193489) | Cod sursa (job #2821051) | Cod sursa (job #294915) | Cod sursa (job #1115909)
#include <fstream>
#include <climits>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
const int G = 10005;
const int W = 15005;
int energieNecesara, numarGeneratoare;
int d[W];
void init()
{
for (int i = 1; i <= energieNecesara + G; i++) {
d[i] = INT_MAX;
}
}
int main()
{
in >> numarGeneratoare >> energieNecesara;
init();
for (int i = 1; i <= numarGeneratoare; i++) {
int energie, cost;
in >> energie >> cost;
for (int j = energieNecesara; j >= 0; j--) {
if (d[j] != INT_MAX and d[j + energie] > d[j] + cost) {
d[j + energie] = d[j] + cost;
}
}
}
if (d[energieNecesara] != INT_MAX) {
out << d[energieNecesara] << "\n";
} else {
out << "-1\n";
}
return 0;
}