Cod sursa(job #829979)

Utilizator AndreeaCanteaCantea Andreea AndreeaCantea Data 6 decembrie 2012 09:28:47
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g,w,e[1000],c[1000],i,j,s=0,cost=0,o[100];
float r[1000],aux;
int main()
{
	fin>>g>>w;
	for(i=1;i<=g;i++)
	{
		fin>>e[i];
		fin>>c[i];
	}
	fin.close();
	for(i=1;i<=g;i++)
	{
		r[i]=(float)e[i]/c[i];
		o[i]=i;
	}
	for(i=1;i<g;i++)
		for(j=i;j<=g;j++)
			if(r[o[i]]<r[o[j]])
			{
				aux=o[i];
				o[i]=o[j];
				o[j]=o[i];
			}
	do
	{
		s=s+e[o[i]];
		cost+=c[o[i]];
		i++;
	}
	while(i<g&&s<=w);
	if(s<w)
		fout<<"-1";
	else
		fout<<cost;
	fout.close();
	return 0;
}