Pagini recente » Cod sursa (job #40752) | Cod sursa (job #2711928) | Cod sursa (job #2116176) | Cod sursa (job #164366) | Cod sursa (job #2955028)
#include<iostream>
#include<fstream>
#define INF 0x3F3F3F3F
std::ifstream in("energii.in");
std::ofstream out("energii.out");
using namespace std;
int dp[5001];
int e[1001], c[1001];
int n, w, sum;
int main() {
in >> n >> w;
for (int i = 1; i <= w; i++) dp[i] = INF;
for (int i = 1; i <= n; i++) in >> e[i] >> c[i];
dp[0] = 0;
for (int i = 1; i <= n; i++)
for (int j = w; j >= 1; j--)
if (e[i] >= j) dp[j] = min(dp[j], c[i]);
else dp[j] = min(dp[j - e[i]] + c[i], dp[j]);
if (dp[w] == INF)dp[w] = -1;
out << dp[w];
return 0;
}