Pagini recente » Cod sursa (job #847391) | Cod sursa (job #430725) | Cod sursa (job #1322022) | Cod sursa (job #1751386) | Cod sursa (job #2955012)
#include<iostream>
#include<fstream>
std::ifstream in("energii.in");
std::ofstream out("energii.out");
using namespace std;
int dp[1001][5001];
int e[1001], c[1001];
int n, w;
int main() {
in >> n >> w;
for (int i = 1; i <= n; i++) in >> e[i] >> c[i];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= w; j++)dp[i][j] = 0x3F3F3F3F;
for (int i = 1; i <= n; i++)
for (int j = e[i]; j <= w; j++)
if (dp[i][j] > dp[i - 1][j - e[i]] + c[i]) {
dp[i][j] = dp[i - 1][j - e[i]] + c[i];
}
if (dp[n][w] == 0x3F3F3F3F) dp[n][w] = -1;
out << dp[n][w];
}