Cod sursa(job #460358)

Utilizator Catah15Catalin Haidau Catah15 Data 2 iunie 2010 09:41:20
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream.h>
#include <fstream.h>
int main()
{
	long long e[10002],c[10002],G,i,W,j,min,S,aux2;
	float r[10002],aux;
	ifstream f("energii.in");
	ofstream g("energii.out");
	
	f>>G; //nr de generatoare
	f>>W; //cantitatea de energie necesara 
	
	for(i=1; i<=G; i++)
	{
		f>>e[i];
		f>>c[i];
		r[i]=(float)c[i]/e[i];
	}
	
	for(i=1; i<=G-1; i++)
		for(j=i+1; j<=G; j++)
			if(r[i]>r[j])
			{
				aux=r[i];
				r[i]=r[j];
				r[j]=aux;
				aux2=e[i];
				e[i]=e[j];
				e[j]=aux2;
				aux2=c[i];
				c[i]=c[j];
				c[j]=aux2;
			}
			
	S=0;i=1;min=0;
	while(S<W)
	{
		S=e[i];
		min=min+c[i];
		i++;
	}
	if(S==W)g<<min;
		else g<<-1;
	f.close();
	g.close();
	return 0;
}