Cod sursa(job #274315)

Utilizator BuRNB Radu BuRN Data 9 martie 2009 16:57:56
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream.h>

int main()
{
int eg[1002],cost[1002],n,w,i,aux,schimb,gata=0,eng=0,val=0;
float rap[1002];
ifstream in("energii.in");
ofstream out("energii.out");
in>>n>>w;
for(i=1;i<=n;i++)
{
	in>>eg[i]>>cost[i];
	rap[i]=float(eg[i])/cost[i];
}

do
{
	schimb=0;
	for(i=1;i<n;i++)
		if(rap[i]<rap[i+1])
		{
			aux=rap[i];
			rap[i]=rap[i+1];
			rap[i+1]=aux;
			aux=eg[i];
			eg[i]=eg[i+1];
			eg[i+1]=aux;
			aux=cost[i];
			cost[i]=cost[i+1];
			cost[i+1]=aux;
			schimb=1;
		}
}
while(schimb);

for(i=1;i<=n && gata==0;i++)
{
	eng=eng+eg[i];
	val=val+cost[i];
	if(eng>=w)
		gata=1;
}
out<<val;

return 0;
}