Pagini recente » Cod sursa (job #1773908) | Cod sursa (job #1894355) | Cod sursa (job #2047390) | Cod sursa (job #394627) | Cod sursa (job #2859895)
#include <fstream>
#include <climits>
#define ll long long
using namespace std;
const int NMAX = 1003, VALMAX = 10003;
int e[NMAX], c[NMAX];
int dp[VALMAX];
signed main()
{
ifstream cin("energii.in");
ofstream cout("energii.out");
int n, w, i, mx = 0, s = 0, j;
cin >> n >> w;
for (i = 1; i <= n; i++)
{
cin >> e[i] >> c[i];
s += e[i];
}
mx = min(VALMAX, s);
for (i = 1; i <= mx; i++)
dp[i] = INT_MAX;
for (i = 1; i <= n; i++)
for (j = 0; j + e[i] <= mx; j++)
if (dp[j] != INT_MAX)
dp[e[i] + j] = min(dp[j] + c[i], dp[e[i] + j]);
int mn = INT_MAX;
for (i = w; i <= mx; i++)
mn = min(mn, dp[i]);
if (mn == INT_MAX)
mn = -1;
cout << mn;
}