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
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <bits/stdc++.h>
#define ll long long
#define INF 1000000000 
#define MLN 1000000
using namespace std;

const int MAXN=60000;
int tab[MAXN];
bool ok[MAXN];
void solve(){
	int N;
	int odp_1=0,odp_2=0;
	int a=0,b=0,nb,na;
	cin>>N;
	for(int i=1; i<=N; i++){
		cin>>tab[i];
	}
	tab[0]=MLN+1;
	if((N+1)%2==0) tab[N+1]=MLN+1; else tab[N+1]=-(MLN+1);
	for(int i=1; i<=N; i++){
		if(i%2==0){
			if(tab[i]>tab[i-1]){
				na=min(a,b);
				nb=min(a,b)+1;
			}else{
				if(tab[i]!=-MLN){
					na=b;
				}else{
					na=INF;
				}
				if(tab[i-1]!=MLN){
					nb=min(a,b)+1;
				}else{
					nb=b+1;
				}
				
			}
		}else{
			if(tab[i]<tab[i-1]){
				na=min(a,b);
				nb=min(a,b)+1;
			}else{
				if(tab[i]!=MLN){
					na=b;
				}else{
					na=INF;
				}
				if(tab[i-1]!=-MLN){
					nb=min(a,b)+1;
				}else{
					nb=b+1;
				}
				
			}
		}
		a=na;
		b=nb;
	}
	odp_1=min(a,b);
	a=0; b=0;
	tab[0]=-(MLN+1);
	if((N+1)%2==0) tab[N+1]=-(MLN+1); else tab[N+1]=MLN+1;
	for(int i=1; i<=N; i++){
		if(i%2==1){
			if(tab[i]>tab[i-1]){
				na=min(a,b);
				nb=min(a,b)+1;
			}else{
				if(tab[i]!=-MLN){
					na=b;
				}else{
					na=INF;
				}
				if(tab[i-1]!=MLN){
					nb=min(a,b)+1;
				}else{
					nb=b+1;
				}
				
			}
		}else{
			if(tab[i]<tab[i-1]){
				na=min(a,b);
				nb=min(a,b)+1;
			}else{
				if(tab[i]!=MLN){
					na=b;
				}else{
					na=INF;
				}
				if(tab[i-1]!=-MLN){
					nb=min(a,b)+1;
				}else{
					nb=b+1;
				}
				
			}
		}
		a=na;
		b=nb;
	}
	odp_2=min(a,b);
//	cout<<odp_1<<" "<<odp_2<<"\n";
	cout<<min(odp_1,odp_2)<<"\n";
	
	
	
	
}



int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	solve();
	return 0;
}