Cod sursa(job #307163)

Utilizator siminescuPaval Cristi Onisim siminescu Data 23 aprilie 2009 15:15:37
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream.h>   
long sum=0;
float aux,a[1001],b[1001];
int main()
{
int i,j,p,w,nr=0,ok=1;
ifstream f("energii.in");
ofstream g("energii.out");
f>>p>>w;
for(i=1;i<=p;i++)
    f>>a[i]>>b[i];
for(i=1;i<=p;i++)
    for(j=i+1;j<=p;j++)
	{
	if(b[i]*a[j]>b[j]*a[i])
	    {
	    aux=a[i];
	    a[i]=a[j];
	    a[j]=aux;
	    aux=b[i];
	    b[i]=b[j];
	    b[j]=aux;
	    }
	}
for(i=1;i<=p&&ok==1;i++)
    {
    sum=sum+b[i];
    nr=nr+a[i];
    if(nr>=w)
	ok=0;

    }
if(nr>=w)
g<<sum;
else
g<<-1;

  
  
f.close();   
g.close();   
return 0;   
}