Array 38. Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают.

Решение на Python 3

import random

N = random.randrange(2,21)
#N = 15
a = [random.randrange(1,10) for i in range(N)]

##a = [3, 3, 1, 8, 9, 6, 9, 2, 6, 6, 2, 6, 2, 9, 6]
#a = [7, 2, 1, 8, 2, 8, 6, 9, 9, 2, 2, 2, 8, 9, 5]
##for i in range(0,N):
## a[i] = N - i
##a[7] = 0
##a = [17, 13, 15]

print("N = ", N)
print("Array:")
print(a)

k = 0
flag = True
for i in range(1,N):
if a[i-1] > a[i] :
if flag:
k += 1
flag = False
else :
flag = True

print("Monotonous Decrease areas:",k)


import matplotlib.pyplot as plt
plt.plot(a)
plt.show()