Pagini recente » Registru diplome | Cod sursa (job #1878961) | Cod sursa (job #2869742) | Cod sursa (job #1005509) | Cod sursa (job #200911)
Cod sursa(job #200911)
/* energii
Gigel a ajuns administrator la o centrala termo-electrica. Intr-o zi a avut loc o cadere de
tensiune si astfel centrala este la pamant. Gigel trebuie sa o repuna in functiune. Stiind ce
energie produce fiecare generator cat si costul punerii in functiune el trebuie sa gasesca o
solutie de cost minim, pentru a produce o cantitate de energie egala sau mai mare cu cea necesara
repornirii centralei.
*/
#include<fstream.h>
ifstream fin("energii.in");
ofstream fout("energii.out");
unsigned long cost,w;
int g;
struct c
{
int eg,ec;
float m;
}v[1002],aux;
void citire()
{
int i;
fin>>g>>w;
for(i=0;i<g;i++)
{
fin>>v[i].eg>>v[i].ec;
v[i].m=(float)v[i].eg/v[i].ec;
}
}
void bubble_sort()
{
int ord,i;
do
{
ord=1;
for(i=0;i<g-1;i++)
if(v[i].m<v[i+1].m)
{
aux=v[i]; v[i]=v[i+1]; v[i+1]=aux; ord=0;
}
}while(ord==0);
}
int main()
{
citire();
int i=0;
bubble_sort();
while(w>0 && i<g)
{
w-=v[i].eg;
cost+=v[i++].ec;
}
if(w<=0)
fout<<cost<<'\n';
else fout<<"-1\n";
fout.close();
return 0;
}