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
#include <bits/stdc++.h>
#define inf 1000000003
using namespace std;
int res1,res2,arr1[50003],arr2[50003];
int main(){
    int n; scanf("%d",&n);
    for(int i=0; i<n; i++){
        scanf("%d",&arr1[i]);
        arr2[i]=arr1[i];
    }
    for(int i=1; i<n; i++){
        if(!(i&1)){
            if(arr1[i]<=arr1[i-1]){
                res1++;
                arr1[i]=inf;
            }
        }
        else{
            if(arr1[i]>=arr1[i-1]){
                res1++;
                arr1[i]=-inf;
            }
        }
    }
    for(int i=1; i<n; i++){
        if(!(i&1)){
            if(arr2[i]>=arr2[i-1]){
                res2++;
                arr2[i]=-inf;
            }
        }
        else{
            if(arr2[i]<=arr2[i-1]){
                res2++;
                arr2[i]=inf;
            }
        }
    }
    printf("%d\n",min(res1,res2));
    return 0;
}