Pagini recente » Cod sursa (job #488842) | Cod sursa (job #144065) | Cod sursa (job #181701) | Cod sursa (job #2339288) | Cod sursa (job #3138169)
#include <fstream>
using namespace std;
ifstream cin ("energii.in");
ofstream cout ("energii.out");
int cost_minim[10001];
int main ()
{
int generatoare , energie_necesara;
cin >> generatoare >> energie_necesara;
for (int indice = 1 ; indice <= 10000 ; indice++)
cost_minim[indice] = 1e9;
for (int indice = 1 , energie , cost ; indice <= generatoare ; indice++)
{
cin >> energie >> cost;
for (int cantitate = 10000 ; cantitate >= energie ; cantitate--)
cost_minim[cantitate] = min(cost_minim[cantitate] , cost_minim[cantitate - energie] + cost);
}
int minim = 1e9;
for (int indice = 10000 ; indice >= energie_necesara ; indice--)
minim = min(minim , cost_minim[indice]);
cout << (minim == 1e9 ? -1 : minim);
cout.close(); cin.close();
return 0;
}