import sys

sys.setrecursionlimit(10**7)

n = 0
a = []

sorted_a = []

def format_input(filename = None):
	global n
	global a
	if filename == None:
		n = int(input())
		a = list(map(int, input().split()))

	elif filename == '__random__':
		from random import randint as rng
		n = rng(2, 2 * 10**3)
		a = [rng(1, 10**9) for i in range(n)]
		print(n)
		print(' '.join(list(map(str, a))))

	global sorted_a
	sorted_a = list(reversed(sorted(a)))

def sum_happiness(left, right):
	if left + right >= n:
		return 0
	activeness = sorted_a[left + right]
	indexes = [i for i in range(n) if a[i] == activeness]
	offset = left + right - sorted_a.index(activeness)

	left_happiness = activeness * (indexes[offset] - left) + sum_happiness(left + 1, right)
	right_happiness = activeness * (n - 1 - right - indexes[offset]) + sum_happiness(left, right + 1)
	return max(left_happiness, right_happiness)

def get_answer():
	return sum_happiness(0, 0)

if __name__ == '__main__':
	format_input()

	ans = get_answer()
	print(ans)
