Pagini recente » Cod sursa (job #2920980) | Cod sursa (job #2989356) | Cod sursa (job #848310) | Cod sursa (job #690216) | Cod sursa (job #1754281)
#include <fstream>
#include <vector>
using namespace std;
int main()
{
int nrGeneratoare, energiePornire, energie, cost;
ifstream in("energii.in");
ofstream out("energii.out");
in >> nrGeneratoare >> energiePornire;
vector<int> costDP(energiePornire + 1, 10005);
for( int i = 0; i < nrGeneratoare; ++i )
{
in >> energie >> cost;
for( int j = energiePornire; j >= 0; --j )
{
j<= energie ? costDP[j] = min(costDP[j], cost) : costDP[j] = min(costDP[j], costDP[j - energie] + cost);
}
}
costDP[energiePornire] == 10005 ? out << -1 : out << costDP[energiePornire];
in.close();
out.close();
return 0;
}