Pagini recente » Cod sursa (job #1067703) | Cod sursa (job #2827786) | Cod sursa (job #2107311) | Cod sursa (job #2496660) | Cod sursa (job #2859803)
#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];
int main()
{
ifstream cin("energii.in");
ofstream cout("energii.out");
int n, w, i, mx = 0, j;
cin >> n >> w;
for (i = 1; i <= n; i++)
{
cin >> e[i] >> c[i];
mx += c[i];
}
for (i = 1; i <= mx; i++)
dp[i] = -1;
dp[0] = 0;
for (i = 1; i <= n; i++)
for (j = 0; j + c[i] <= mx; j++)
if (dp[j] != -1)
dp[j + c[i]] = max(dp[j] + e[i], dp[j + c[i]]);
int poz = 0;
for (i = 1; i <= mx; i++)
if (dp[i] >= w)
{
cout << i;
return 0;
}
cout << -1;
}