Pagini recente » Cod sursa (job #1071517) | Cod sursa (job #2717892) | Cod sursa (job #2391015) | Cod sursa (job #2193908) | Cod sursa (job #1083017)
#include <fstream>
#define INF 2000000000
using namespace std;
ifstream is ("energii.in");
ofstream os ("energii.out");
int G, W;
int E[1001], C[1001], DP[5001];
int main()
{
is >> G >> W;
for (int i = 1; i <= G; ++i)
is >> E[i] >> C[i];
for (int i = 1; i <= W; ++i)
DP[i] = INF;
for (int i = 1; i <= G; ++i)
for (int j = W; j >= 0; --j)
if (j-E[i] >= 0)
{
if (DP[j] > DP[j-E[i]] + C[i]) DP[j] = DP[j-E[i]] + C[i];
}
else DP[j] = min(DP[j], C[i]);
os << DP[W];
is.close();
os.close();
return 0;
}