Pagini recente » Cod sursa (job #2452395) | Cod sursa (job #3180180) | Cod sursa (job #3154397)
#include <fstream>
#include <algorithm>
using namespace std;
struct Generator {
int energia;
int cost;
Generator(int e, int c) : energia(e), cost(c) {}
};
int main() {
ifstream fin("energii.in");
ofstream fout("energii.out");
int G, W;
fin >> G >> W;
Generator generators[100];
for (int i = 0; i < G; i++) {
int E, C;
fin >> E >> C;
generators[i] = Generator(E, C);
}
int dp[5001];
dp[0] = 0;
for (int i = 1; i <= W; i++) {
dp[i] = 10001;
for (int j = 0; j < G; j++) {
if (generators[j].energia <= i) {
dp[i] = min(dp[i], dp[i - generators[j].energia] + generators[j].cost);
}
}
}
if (dp[W] == 10001) {
fout << -1 << endl;
}
else {
fout << dp[W] << endl;
}
return 0;
}