Pagini recente » Cod sursa (job #2683674) | Cod sursa (job #1736989) | Cod sursa (job #680131) | Cod sursa (job #1296616) | Cod sursa (job #2691374)
#include <fstream>
using namespace std;
const int N = 5001;
int cost[N];
int main() {
ifstream in("energii.in");
ofstream out("energii.out");
int n, w, e, c;
in >> n >> w;
for (int i = 1; i <= w; ++i)
cost[i] = -1;
while (n--) {
in >> e >> c;
for (int i = w - 1; i >= 0; --i)
if (cost[i] >= 0) {
if (cost[max(w, i + e)] == -1)
cost[max(w, i + e)] = cost[i] + c;
else
cost[max(w, i + e)] = min(cost[i + e], cost[i] + c);
}
}
if (cost[w] > 0)
out << cost[w];
else
out << -1;
in.close();
out.close();
return 0;
}