Pagini recente » Cod sursa (job #2584330) | Cod sursa (job #2283920) | Cod sursa (job #3037900) | Cod sursa (job #97159) | Cod sursa (job #1115893)
#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 (int v[], int n)
{
for (int i = 1; i <= n; i++) {
v[i] = INT_MAX;
}
}
int main()
{
in >> numarGeneratoare >> energieNecesara;
init(d, W);
for (int i = 1; i <= numarGeneratoare; i++) {
int e, g;
in >> e >> g;
for (int j = energieNecesara; j >= 0; j--) {
if (d[j] != INT_MAX and d[j + e] > d[j] + g) {
d[j + e] = d[j] + g;
}
}
}
if (d[energieNecesara] != INT_MAX) {
out << d[energieNecesara] << "\n";
} else {
out << "-1\n";
}
return 0;
}