Pagini recente » Cod sursa (job #2357910) | Cod sursa (job #2152965) | Cod sursa (job #2591610) | Cod sursa (job #3163477) | Cod sursa (job #2062483)
#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 - e[i]; j >= 0; --j) {
if (dp[j] == 1e9) continue;
if (dp[j + e[i]] > dp[j] + c[i]) {
dp[j + e[i]] = dp[j] + c[i];
if (j + e[i] >= w) sol = min(sol, dp[j + e[i]]);
}
}
}
out << sol;
return 0;
}