Pagini recente » Cod sursa (job #1899334) | Cod sursa (job #630238) | Cod sursa (job #490229) | Cod sursa (job #1318371) | Cod sursa (job #3160769)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
// 1 < G < 1001
// 1 < W < 5001
// 0 ≤ EGi,CGi < 10001
const int MAX_ENERGIE = 5001;
const int MAX_GEN = 1001;
const int INF = 0x3f3f3f3f;
const int NEFOL = -2;
int dp[MAX_GEN + 1][MAX_ENERGIE];
int main() {
int nr_gen;
int max_energie;
fin >> nr_gen >> max_energie;
for (int e = 1; e <= max_energie; e++) {
dp[0][e] = INF;
}
for (int i = 1; i <= nr_gen; i++) {
int energie;
int cost;
fin >> energie >> cost;
for (int e = max_energie; e > energie; e--) {
int caz1 = dp[i - 1][e];
int caz2 = cost + dp[i - 1][e - energie];
dp[i][e] = min(caz1, caz2);
}
}
int ans = dp[nr_gen][max_energie];
fout << ((ans >= INF) ? -1 : ans) << endl;
return 0;
}