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
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
	//const int maks{1000000000};
	cin >> n;
	vector <int> ptak(n);
	for (auto &i : ptak)
		cin >> i;
	int i, l{}, p{}; // l - pierwszy maly; p - pierwszy duzy
	bool z1;
	z1 = false;
	for (i = 1; i < n-1; i += 2){
		if (not z1 and ptak[i] <= ptak[i-1])
			++l, z1 = false;
		else if (ptak[i] <= ptak[i+1]){
			z1=true;
			++l;}
		else z1=false;
	}

	if (i < n and not z1 and ptak[i] <= ptak[i-1]) ++l;
	
	z1 = false;
	for (i = 1; i < n-1; i += 2){
		if (not z1 and ptak[i] >= ptak[i-1])
			++p, z1 = false;
		else if (ptak[i] >= ptak[i+1]){
			z1=true;
			++p;}
		else z1=false;

	}
	if (i < n and not z1 and ptak[i] >= ptak[i-1]) ++p;
	
	if (l < p) cout << l;
	else cout << p;
}