Cod sursa(job #688845)

Utilizator donydony2009FMI - Donisan George donydony2009 Data 23 februarie 2012 21:49:42
Problema Avioane Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream.h>
#include<algorithm>
using namespace std;
#define NMAX 100006

inline long long MAX(int a,int b)
{
	return a>b?a:b;
}
long long int v[NMAX],v1[NMAX];
int GetRight(int x)
{
	int i,max=-1;
	for(i=x;i>=1;i--)
		max=MAX((x-i+1)*v[i],max);
	return max;
}
int main(void)
{
	int n,i,sol=0,nr=0,rez=0;
	ifstream f("avioane.in");
	ofstream g("avioane.out");
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	sort(v+1,v+n+1);
	for(i=1;i<=n;i++)
	{
		
		v1[i]=GetRight(i);
		rez=MAX((n-i)*v[i+1]+v1[i],rez);
	}
	g<<rez;
}