Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sys import stdin, stdout
- import math
- R = lambda : stdin.readline().strip()
- RL = lambda f=None: list(map(f, R().split(' '))) if f else list(R().split(' '))
- output = lambda x: stdout.write(str(x) + '\n')
- output_list = lambda x: output(' '.join(map(str, x)))
- for tc in range(int(R())):
- n = int(R())
- a = RL(int)
- val = [0]
- intm = 0
- for i in range(1, n-1):
- if a[i-1] > a[i] < a[i+1]:
- val.append(-1)
- intm += 1
- elif a[i-1] < a[i] > a[i+1]:
- val.append(1)
- intm += 1
- else:
- val.append(0)
- val.append(0)
- ans = intm
- for i in range(1,n-1):
- if (val[i] == -1 and val[i-1] == 1 and val[i+1] ==1) or (val[i] == 1 and val[i-1] == -1 and val[i+1] ==-1):
- ans = min(ans, intm-3)
- elif (val[i] == -1 and [0,1] == sorted([val[i-1], val[i+1]])) or (val[i] == 1 and [-1,0] == sorted([val[i-1], val[i+1]])):
- ans = min(ans, intm -2)
- else:
- ans = min(ans, intm-1)
- output(max(0, ans))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement