Pagini recente » Cod sursa (job #1851561) | Cod sursa (job #1638109) | Cod sursa (job #664182) | Cod sursa (job #3719) | Cod sursa (job #1757031)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(){
int nrGen,energMax;
int generator,costG;
ifstream f("energii.in");
ofstream g("energii.out");
f >> nrGen >> energMax;
vector<int> cost(energMax + 1,10010);
for(int i=0;i<nrGen;i++){
f >> generator >> costG;
for(int j = energMax;j>=0;j--){
if(j <= generator) cost[j] = min(cost[j],costG);
else cost[j] = min(cost[j],cost[j - generator] + costG);
}
}
if(cost[energMax] == 10010) g << "-1";
else g << cost[energMax];
f.close();
g.close();
return 0;
}