1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <bits/stdc++.h>

using namespace std;

constexpr int INF = 1000000000;
constexpr int MAX_N = 50000;
int t[MAX_N + 9];

int main()
{
	int n;
	scanf("%d", &n);
    for (int i = 0; i < n; ++i)
    {
    	scanf("%d", &t[i]);
	}
	int wyn = n;
	for (int ii = 0; ii < 2; ii++)
	{
		int zmian = 0;
		int j = ii;
		int prev = t[0];
		int curr;
		for (int i = 1; i < n; ++i)
		{
			curr = t[i];
			if (j)
			{
				if (curr <= prev)
				{
					zmian++;
					curr = INF;
				}
			}
			else
			{
				if (curr >= prev)
				{
					zmian++;
					curr = -INF;
				}
			}
			j ^= 1;
			prev = curr;
		}
		wyn = min(zmian, wyn);
	}
	printf("%d\n", wyn);
}