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
// B1-ORN.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <vector>

using namespace std;

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

    int n;
    cin >> n;

    vector<int> sounds;
    int temp;
    for(int i = 0; i < n; i++) {
        cin >> temp;
        sounds.push_back(temp);
    }

    vector<int> diffs;
    for (int i = 1; i < n; i++) {
        if (sounds[i - 1] - sounds[i] < 0)
            diffs.push_back(1);
        else if (sounds[i - 1] - sounds[i] == 0) {
            diffs.push_back(0);
        }
        else {
            diffs.push_back(-1);
        }
    }

    vector<int> diffsCopy(diffs);
    int correct = -1;
    int down=0;
    for (int i = 0; i < n - 1; i++) {
        correct = 2 * (i % 2) - 1;
        if (diffs[i] != correct) {
            diffs[i] = correct;
            down++;
            if (i + 1 < n - 1) {
                diffs[i + 1] = -1 * correct;
            }
        };
    }

    correct = 1;
    int up = 0;
    for (int i = 0; i < n - 1; i++) {
        correct = -1*(2 * (i % 2) - 1);
        if (diffsCopy[i] != correct) {
            diffsCopy[i] = correct;
            up++;
            if (i + 1 < n - 1) {
                diffsCopy[i + 1] = -1 * correct;
            }
        };
    }

    cout << min(down, up);
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file