Pagini recente » Cod sursa (job #521508) | Cod sursa (job #2807629) | Cod sursa (job #991887) | Cod sursa (job #1003147) | Cod sursa (job #3199059)
#include <fstream>
using namespace std;
const int N = 1001;
const int W = 5001;
int cost[W+1], en[N], c[N];
int main()
{
ifstream in("energii.in");
ofstream out("energii.out");
int n, w;
in >> n >> w;
for (int i = 0; i < n; i++)
{
in >> en[i] >> c[i];
}
///initializam vectorul cost
cost[0] = 0;
int cost_min = 1e7;
for (int j = 1; j <= w; j++)
{
cost[j] = cost_min;
}
for (int i = 0; i < n; i++)
{
for (int j = w; j >= w - en[i]; j--)
{
if (cost[j] != 1e7)
{
cost[j + en[i]] = min(cost[j + en[i]], cost[j] + c[i]);
}
}
}
/*
for (int j = 1; j <= w; j++)
{
cost_min = min(cost_min, cost[j]);
}
*/
out << cost[w] << "\n";
in.close();
out.close();
return 0;
}