Pagini recente » Borderou de evaluare (job #341939) | Cod sursa (job #341369)
Cod sursa(job #341369)
#include <iostream.h>
#include <fstream.h>
int G,W,cost[10001],gen[10001],o[10001],i,j,schimb,Gr,x[10001],aux;
ifstream f("energii.in");
ofstream g("energii.out");
void rezolva()
{
for (i=0,Gr=W;i<G && Gr>gen[o[i]];i++)
{
x[o[i]]=1;
Gr-=gen[o[i]];
}
}
void afiseaza()
{
for (int i=0;i<G;i++)
if (x[i]) g<<i+1<<" "<<x[i]*100<<endl;
}
int main()
{
f>>G;
f>>W;
for (i=0;i<G;i++)
{
o[i]=i;
f>>gen[i];
f>>cost[i];
}
cout<<"G="<<G<<endl;
cout<<"W="<<W<<endl;
cout<<"generatoare:";
for (i=0;i<G;i++)
cout<<gen[i]<<" ";
cout<<endl<<"costuri: ";
for (i=0;i<G;i++)
cout<<cost[i];
for (i=0;i<G-1;i++)
{
do
{
schimb=0;
if (gen[o[i]]/cost[o[i]]<gen[o[i+1]]/cost[o[i+1]])
{
aux=o[i];
o[i]=o[i+1];
o[i+1]=aux;
}
}
while (schimb);
}
rezolva();
afiseaza();
return 0;
}