Cod sursa(job #428618)

Utilizator myshuSpatariu Mihai-Constantin myshu Data 29 martie 2010 13:51:20
Problema Energii Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 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=0,energie[1002],cost[1002];
	float raport[1002];
	fcin>>n>>m;
	for(i=1;i<=n;i++)
		{fcin>>energie[i]>>cost[i];
		 raport[i]=energie[i]/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+1){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;}
	fcout<<s2<<'\n';
	return 0;
}