Pagini recente » Cod sursa (job #238093) | Cod sursa (job #690003) | Monitorul de evaluare | Profil ionalina | Cod sursa (job #907624)
Cod sursa(job #907624)
//energii - Infoarena
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int energieCost(char mod, int index, int energie, int cost);
void afisare(int afiseaza);
int main()
{
int generatoare, energieNecesara;
int costMinim(32000), costCurent(32000);
in>>generatoare>>energieNecesara;
for(int index=0;index<generatoare;index++)
{
int energie, cost;
in>>energie>>cost;
energieCost('w',index,energie,cost);
}
for(int index=0;index<generatoare;index++)
{
if(energieCost('e',index,0,0)>=energieNecesara) costCurent=energieCost('c',index,0,0);
if(costCurent<costMinim) costMinim=costCurent;
}
costCurent=0;long int sumaEnergie(0);
for(int index=0;index<generatoare;index++)
{
sumaEnergie+=energieCost('e',index,0,0);
costCurent+=energieCost('c',index,0,0);
if(energieNecesara<=sumaEnergie && costCurent<=costMinim) costMinim=costCurent;
if(energieNecesara>sumaEnergie && index==generatoare-1) costMinim=-1;
}
for(int index=0;index<generatoare;index++)
{
}
afisare(costMinim);
}
int energieCost(char mod, int index, int energie, int cost)
{
int date[1001][2];
if(mod=='w') {date[index][0]=energie; date[index][1]=cost; return 0;}
if(mod=='e') {return date[index][0];}
if(mod=='c') {return date[index][1];}
}
void afisare(int afiseaza)
{
out<<afiseaza;
}