Pagini recente » Cod sursa (job #1816203) | Cod sursa (job #2629661) | Cod sursa (job #909314) | Cod sursa (job #2163038) | Cod sursa (job #2062494)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int n, w, sol = 1e9;
int e[1005], c[1005], dp[5005];
int main()
{
in >> n >> w;
for (int i = 1; i <= n; ++i) in >> e[i] >> c[i];
for (int i = 1; i <= w; ++i) dp[i] = 1e9;
for (int i = 1; i <= n; ++i) {
for (int j = w; j >= 0; --j) {
if (dp[j] == 1e9) continue;
if (j + e[i] >= w) {
sol = min(sol, dp[j] + c[i]);
} else {
dp[j + e[i]] = min(dp[j + e[i]], dp[j] + c[i]);
}
}
}
if (sol == 1e9) out << -1; else out << sol;
return 0;
}