Pagini recente » Cod sursa (job #873715) | Cod sursa (job #3139636) | Cod sursa (job #2248206) | Cod sursa (job #841912) | Cod sursa (job #3159790)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int INF = 0x3f3f3f3f, MAXVAL = 20005;
int minCost[MAXVAL + 5];
int genNum, reqEnergy;
void InitMinCost() {
for (int i = 1; i <= MAXVAL; i++) {
minCost[i] = INF;
}
}
int main() {
fin >> genNum >> reqEnergy;
int bestCost = INF;
InitMinCost();
for (int i = 1; i <= genNum; i++) {
int energy, cost;
fin >> energy >> cost;
for (int j = MAXVAL; j >= energy; j--) {
minCost[j] = min(minCost[j], minCost[j - energy] + cost);
if (j >= reqEnergy) {
bestCost = min(bestCost, minCost[j]);
}
}
}
if (bestCost == INF) {
bestCost = -1;
}
fout << bestCost;
return 0;
}