Pagini recente » Cod sursa (job #2863232) | Cod sursa (job #2680372) | Cod sursa (job #1075036) | Cod sursa (job #2852592) | Cod sursa (job #3199061)
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int INF = 1e9;
int main()
{
int G, W;
cin >> G >> W;
int E[G], C[G];
for (int i = 0; i < G; i++)
cin >> E[i] >> C[i];
int dp[W + 1];
for (int i = 1; i <= W; i++)
dp[i] = INF;
dp[0] = 0;
for (int i = 0; i < G; i++)
for (int j = W - 1; j >= 0; j--)
{
if(dp[j] == INF)
continue;
int j_obtinut = j + E[i];
j_obtinut = min(j_obtinut, W);
dp[j_obtinut] = min(dp[j_obtinut], dp[j] + C[i]);
}
if (dp[W] == INF)
cout << -1;
else
cout << dp[W];
cin.close();
cout.close();
}