Pagini recente » Cod sursa (job #886887) | Cod sursa (job #1978990) | Cod sursa (job #1552965) | Cod sursa (job #478360) | Cod sursa (job #880741)
Cod sursa(job #880741)
#include <iostream>
#include <fstream>
using namespace std;
fstream fin("energii.in", ios::in);
fstream fout("energii.out", ios::out);
int i = 1,generator_count, required_power;
struct generator {
int power,repair_cost;
} generator_list[1000];
bool canSupplyEnougthPower() {
int dummy = required_power;
for(int i = 1; i <= generator_count; i++)
dummy = dummy - generator_list[i].power;
return !(dummy >= 0);
}
int main() {
fin>>generator_count>>required_power;
for(i = 1; i <= generator_count; i++)
fin>>generator_list[i].power>>generator_list[i].repair_cost;
if(canSupplyEnougthPower() == false) {
fout<<-1;
fin.close();fout.close();
return 0;
}
int final_cost = 0;
for(int i = 0; i < generator_count; i++) {
int cost = 0,power = 0;
for(int j = i; j < generator_count; j++) {
cost += generator_list[j].repair_cost;
power += generator_list[j].power;
}
if(power >= required_power
&& (final_cost > cost || final_cost == 0))
final_cost = cost;
}
fout<<final_cost;
fin.close();fout.close();
return 0;
}