Cod sursa(job #428630)

Utilizator myshuSpatariu Mihai-Constantin myshu Data 29 martie 2010 13:56:34
Problema Energii Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream.h>
int main ()
{
	ifstream fcin("energii.in");
	ofstream fcout("energii.out");
	int n,m,i,s=0,s2=0,aux,j,j2,max=1,energie[1002],cost[1002];
	float raport[1002];
	fcin>>n>>m;
	for(i=1;i<=n;i++)
		{fcin>>energie[i]>>cost[i];
		 raport[i]=(float)energie[i]/(float)cost[i];}
	for(i=2;i<=n;i++)
		{ 
		if(raport[i]>raport[i-1]&&i>1){aux=raport[i];raport[i]=raport[i-1];raport[i-1]=aux;
										aux=energie[i];energie[i]=energie[i-1];energie[i-1]=aux;
										aux=cost[i];cost[i]=cost[i-1];cost[i-1]=aux;i=i-2;}
		}
	i=1;
	while(s<m)
		{s=s+energie[i];s2=s2+cost[i];i++;if(i==n+2){s2=-1;break;}}
	while(s>m&&max!=0){max=0;
						for(j=1;j<=i-1;j++)
						if(energie[j]<=s-m&&energie[j]>max){max=energie[j];j2=j;}
						s2=s2-cost[j2];energie[j2]=0;cost[j2]=0;}
	fcout<<s2<<'\n';
	return 0;
}