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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>

using namespace std;


int test(vector<int> a, int sign){
    int i=1;
    int counter =0;
    while (i<a.size()){
        if (a[i]*sign >= a[i-1]*sign){
            counter++;
            i++;
        }else{
            sign=-sign;
        }
        i++;
    }
    return counter;
}


int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n;
    cin>>n;

    vector<int> a;
    a.reserve(n);
    copy_n(istream_iterator<int>(cin),n,back_inserter(a));

    int s1=test (a,1);
    int s2=test (a,-1);

    cout<<min(s1,s2);
    return 0;
}