Pagini recente » Cod sursa (job #1651211) | Cod sursa (job #1888380) | Cod sursa (job #1713805) | Cod sursa (job #3257936) | Cod sursa (job #2859899)
#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;
s = 0;
for (i = 1; i <= n; i++)
{
s += e[i];
for (j = s; j >= 0; 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;
}