Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_local_max_min(n, arr):
- local_max = []
- local_min = []
- if(arr[0] < arr[1]):
- local_min.append(0)
- for i in range(1, n-1):
- if (arr[i-1] > arr[i] < arr[i + 1]):
- local_min.append(i)
- elif (arr[i-1] < arr[i] > arr[i + 1]):
- local_max.append(i)
- if (arr[-1] > arr[-2]):
- local_max.append(n-1)
- elif (arr[-1] < arr[-2]):
- local_min.append(n-1)
- return local_min, local_max
- def solution(n, array):
- local_min, local_max = find_local_max_min(n, array)
- # print('local_min: ', local_min)
- # print('local_max: ', local_max)
- profit = 0
- for i in range(min(len(local_min), len(local_max))):
- profit += array[local_max[i]] - array[local_min[i]]
- return profit
- n = int(input())
- array = [int(x) for x in input().split()]
- print(solution(n, array))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement