Cod sursa(job #892430)

Utilizator abcdefg12345nume complet am zis abcdefg12345 Data 26 februarie 2013 09:26:17
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,i,man1,inv,ordine[9];
double c[9],g[8],ef[9],gv,man,castig;
int main ()
{f>>gv;
f>>n;
for (i=1;i<=n;i++)
{
	f>>c[i];
	f>>g[i];
	ordine[i]=i;
	ef[i]=c[i]/g[i];
}
do
{
	inv=0;
	for (i=1;i<=n-1;i++)
		if (ef[i]<ef[i+1])
		{
			man=ef[i];
			ef[i]=ef[i+1];
			ef[i+1]=man;
			man=c[i];
			c[i]=c[i+1];
			c[i+1]=man;
			man=g[i];
			g[i]=g[i+1];
			g[i+1]=man;
			inv=1;
			man1=ordine[i];
			ordine[i]=ordine[i+1];
			ordine[i+1]=man1;
		}
}
while (inv!=0);
i=1;
while (gv>0&&i<=n)
	{
		if(gv>g[i])
			castig=castig+c[i];
		else
		{
			castig=castig+c[i]*gv/g[i];
			gv=0;
		}
		i++;
	}
g<<castig;
f.close ();
g.close ();
return 0;
}