Паркур
Мальчик Миша профессионально занялся паркуром. Для своего показательного номера он нашел N стоящих в ряд столбов, высота i-го столба равна hi. Как известно, чем дальше и выше прыжок, тем он более крутой. Крутость прыжка со столба i на столб j оценивается формулой |i - j| + hj - hi. Миша должен начать на каком-то столбе, после чего посетить все столбы ровно один раз. Скажите Мише максимальную суммарную крутость прыжков.
Формат входных данных
В первой строке вводится целое число N - число столбов (1 ≤ N ≤ 3000). Во сторой строке вводится N целых чисел hi - высоты столбов (1 ≤ hi ≤ 109).
Формат результата
Выведите одно целое число - максимальную суммарную крутость прыжков.
Примеры
Входные данные
4
1 2 3 1
Результат работы
8
Входные данные
5
2 1 5 4 5
Результат работы
15
Держи. На питоне
Объяснение:
n = int(input())
cool_score = 0
jumps = input().split()
sorted_jumps = sorted(jumps)
for i in range(len(jumps)):
if i != len(jumps) - 1:
Ni = jumps.index(sorted_jumps[i]) + 1
Hi = sorted_jumps[i]
if jumps.count(jumps[i]) > 1:
jumps[i] = 'done'
Nj = jumps.index(sorted_jumps[i + 1]) + 1
Hj = sorted_jumps[i + 1]
a = 'abs({} - {}) + {} - {}'.format(int(Ni), int(Nj), int(Hj), int(Hi))
cool_score += eval(a)
print(cool_score)
Код на Python:
n = int(input())
score = 0
jumps = input().split()
sorted_jumps = sorted(jumps)
for i in range(len(jumps)):
if i != len(jumps) - 1:
Ni = jumps.index(sorted_jumps[i]) + 1
Hi = sorted_jumps[i]
if jumps.count(jumps[i]) > 1:
jumps[i] = 'done'
Nj = jumps.index(sorted_jumps[i + 1]) + 1
Hj = sorted_jumps[i + 1]
a = 'abs({} - {}) + {} - {}'.format(int(Ni), int(Nj), int(Hj), int(Hi))
score += eval(a)
print(score)