Pagini recente » Cod sursa (job #1827987) | Cod sursa (job #518952) | Cod sursa (job #2894693) | Cod sursa (job #517779) | Cod sursa (job #60728)
Cod sursa(job #60728)
#include <fstream.h>
int n,i,j,inter,g,w,aux,nr,eg[10001],cg[10001],y[10001],prim;
long double x[10001];
int main ()
{
ofstream fout("energii.out");
ifstream fin("energii.in");
fin>>g>>w;
for ( i=1; i<=g ; i++ )
fin>>eg[i]>>cg[i];
for (i=1; i<=g; i++)
aux+=eg[i];
if(aux<g) { fout<<-1; return 0; }
for ( i=1; i<=g; i++ )
{ x[i]=(float)eg[i]/(float)cg[i]; y[i]=i; }
inter=1;
while(inter)
{
inter=0;
for(i=1;i<g;i++)
if(x[i]<x[i+1]) { aux=x[i];
x[i]=x[i+1];
x[i+1]=aux;
inter=1;
aux=y[i]; y[i]=y[i+1]; y[i+1]=aux;}
}
aux=0; i=0;
while(aux<w)
{
aux+=cg[y[++i]];
}
fout<<aux;
fin.close();
fout.close();
return 0;
}