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

const int N = 50005;
int n, x, t[N], p[N];
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cin >> n;


    for(int i = 1 ; i <= n ; i++){
        cin >> t[i];
        p[i] = t[i];
    }
    int ileZ = 0;
    bool rosnie = true;
    for(int i = 2 ; i <= n ; i++){
        if(rosnie){
            if(t[i] <= t[i-1]){
                ileZ++;
                t[i] = INT_MAX;
            }
        }
        else{
            if(t[i]>= t[i-1]){
                ileZ++;
                t[i] = INT_MIN;
            }
        }
        rosnie = !rosnie;
    }

    int ileD = 0;
    rosnie = false;
    for(int i = 2 ; i <= n ; i++){
        if(rosnie){
            if(p[i] <= p[i-1]){
                ileD++;
                p[i] = INT_MAX;
            }
        }
        else{
            if(p[i]>= p[i-1]){
                ileD++;
                p[i] = INT_MIN;
            }
        }
        rosnie = !rosnie;


    }
    cout << min(ileD, ileZ) <<"\n";
}