Cod sursa(job #587225)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 4 mai 2011 12:10:08
Problema Avioane Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <cstdio>
#include <algorithm>
using namespace std;
#define nmax 100010
#define ll long long

int n, v[nmax];
ll a[nmax], m, x, sol;

int main()
{
	freopen("avioane.in","r",stdin);
	freopen("avioane.out","w",stdout);
	scanf("%d", &n);
	int i, p;
	for (i=1; i<=n; i++) scanf("%d", &v[i]);
	sort (v+1, v+n+1);
	for (i=1; i<=n; i++) 
		a[i]=(ll) v[i]*(n-i+1);
	for (i=1; i<=n; i++)
	{
		if (a[i]>m)
		{
			m=a[i];
			p=i;
		}
		x=(i-p+1)*v[p]+a[i+1];
		if (x>sol) sol=x;
	}
	printf("%d\n",sol);
}