Cod sursa(job #585595)

Utilizator deneoAdrian Craciun deneo Data 30 aprilie 2011 09:57:21
Problema Avioane Scor 0
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.59 kb
#include<cstdio>
#include<algorithm>
using namespace std;

#define llong long long

int v[100001], n;
llong smax1 = 0, smax2 = 0, poz; 

int main() {
	int i, j;
	
	freopen("avioane.in", "rt", stdin);
	freopen("avioane.out", "wt", stdout);
	scanf("%d", &n);
	for(i = 1; i <= n; ++i)
		scanf("%d", &v[i]);
	
	sort(v + 1, v + n + 1);
	for(i = 1; i <= n; ++i) 
		if(v[i] * (n - i + 1) > smax1) {
			poz = i;
			smax1 = v[i] * (n - i + 1);
		}
	for(i = poz + 1; i <= n; ++i)
		if((v[i] - v[poz]) * (n - i + 1) > smax2)
			smax2 = (v[i] - v[poz]) * (n - i + 1);
	
	printf("%lld", smax1 + smax2);
	return 0;
}