#################################3
#################################3
#################################3
#################################3


def read(container_type, data_type):
    return container_type(data_type(x) for x in input().split())


n, = read(tuple, int)
arr = read(list, int)

i_sorted = sorted(range(n), key=lambda i: arr[i], reverse=True)
left = 0
right = n - 1
sol = 0

import functools


@functools.lru_cache(None)
def dp(left, right):
    if left >= right:
        return 0
    i = i_sorted[n - right + left]
    x = arr[i]
    return max(x * abs(i - left) + dp(left + 1, right), x * abs(i - right + 1) + dp(left, right - 1))


sol = dp(0, n)
print(sol)

#################################3
#################################3
#################################3
#################################3
