Pagini recente » Cod sursa (job #1277682) | N-ai valoarea mea | Cod sursa (job #1818689) | Cod sursa (job #514534) | Cod sursa (job #1574024)
#include <fstream>
#define D 1003
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int sol, e[D], c[D], dp[2][5005], G, W;
int main()
{
f >> G >> W;
bool ok = 0;
sol = 100000000;
int l = 0;
for (int i = 1; i <= G; i++)
f >> e[i] >> c[i];
for (int i = 1; i <= G; i++){
l = 1 - l;
for (int j = 0; j <= 5005; j++){
dp[1 - l][j] = dp[l][j];
if (c[i] <= j)
dp[1 - l][j] = max(dp[l][j], dp[l][j - c[i]] + e[i]);
if (dp[1 - l][j] >= W && j < sol)
sol = j;
}
}
if (sol != 100000000) g << sol;
else g << "-1";
return 0;
}