Pagini recente » Cod sursa (job #2289652) | Cod sursa (job #1284131) | Cod sursa (job #1170537) | Cod sursa (job #1438247) | Cod sursa (job #2703213)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int cost[5001];
int main()
{
int n, energieMinima;
int energie, pret;
fin>>n>>energieMinima;
//initializare
for(int i=1; i<=energieMinima; i++){
cost[i] = 5000 * 10000 + 1;
}
for(int i=0; i<n; i++){
fin>>energie>>pret;
for(int j=energie + 1; j<=energieMinima; j++){
cost[j] = min(cost[j], cost[j - energie] + pret);
}
for(int j=1; j<=energie; j++){
cost[j] = min(cost[j], pret);
}
}
if(cost[energieMinima] == 5000 * 10000 + 1) fout<<-1<<"\n";
else fout<<cost[energieMinima];
}