Cod sursa(job #323329)

Utilizator siminescuPaval Cristi Onisim siminescu Data 11 iunie 2009 19:50:34
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
int eg[1001],cg[1001];
int main()
{
	int i,j,n,w,aux,sum=0,ok=1,c=0;
	ifstream f("energii.in");
	ofstream g("energii.out");
	f>>n>>w;
	for(i=1;i<=n;i++)
		f>>eg[i]>>cg[i];
	for(i=2;i<=n;i++)
	{
		j=i;
		while(j>1&&eg[j]*cg[j-1]>eg[j-1]*cg[j])
		{
			aux=eg[j];
			eg[j]=eg[j-1];
			eg[j-1]=aux;
			aux=cg[j];
			cg[j]=cg[j-1];
			cg[j-1]=aux;
			j--;
		}
	}
	for(i=1;i<=n&&ok==1;i++)
	{
		if(c<w)
		{
			c=c+eg[i];
			ok=0;
			sum=sum+cg[i];
		}
	}
	
	if(ok==1)
		g<<-1;
	else
		g<<sum;
	f.close();
	g.close();
	return 0;
}