Pagini recente » Cod sursa (job #1504588) | Cod sursa (job #2692193) | Cod sursa (job #592089) | Cod sursa (job #1329001) | Cod sursa (job #3148125)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int neg=-1;
int main()
{int G, W, EG[10005], CG[10005], aux, SumaCost=0, EnergieTotala=0;
double Raport=-1, j;
f>>G>>W;
for(int i=1; i<=G; i++)
{
f>>EG[i];
f>>CG[i];
EnergieTotala=EnergieTotala+EG[i];
}
if(EnergieTotala>=W)
{
while(W>0)
{ Raport=-1;
for(int i=1; i<=G; i++)
{ if(W-EG[i]>0)
{
if(CG[i]!=0&&EG[i]!=0)
{
if(CG[i]!=0)
{
j=EG[i]/CG[i];
}
else
{
j=EG[i];
}
if(Raport<j)
{ if((W-EG[i])>0)
{
Raport=j;
aux=i;
}
else
{
SumaCost=SumaCost-CG[aux];
W=W+EG[aux];
Raport=j;
aux=i;
}
}
}
}
else
{
SumaCost=SumaCost+CG[i];
W=W-EG[i];
Raport=j;
aux=i;
EG[aux]=0;
CG[aux]=0;
}
W=W-EG[aux];
SumaCost=SumaCost+CG[aux];
EG[aux]=0;
CG[aux]=0;
}
}
g<<SumaCost;
}
else
{
g<<neg;
}
f.close();
g.close();
return 0;
}