#include <iostream> #include <vector> using namespace std; vector<int> list; vector<int> list2; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int a = 0; int b = 0; int t; for (int i = 0; i < n; i++) { cin >> t; list.push_back(t); } for (int i = 1; i < n; i++) { if ((list[i] > list[i - 1])) list2.push_back(0); else if ((list[i] < list[i - 1])) list2.push_back(1); else if ((list[i] == list[i - 1])) list2.push_back(2); } for (int i = 0; i < n - 1; i++) { if (list2[i] != (i % 2) || list2[i] == 2) { a++; i++; } } for (int i = 0; i < n - 1; i++) { if (list2[i] == (i % 2) || list2[i] == 2) { b++; i++; } } cout << ((a < b) ? a : b); }
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 | #include <iostream> #include <vector> using namespace std; vector<int> list; vector<int> list2; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int a = 0; int b = 0; int t; for (int i = 0; i < n; i++) { cin >> t; list.push_back(t); } for (int i = 1; i < n; i++) { if ((list[i] > list[i - 1])) list2.push_back(0); else if ((list[i] < list[i - 1])) list2.push_back(1); else if ((list[i] == list[i - 1])) list2.push_back(2); } for (int i = 0; i < n - 1; i++) { if (list2[i] != (i % 2) || list2[i] == 2) { a++; i++; } } for (int i = 0; i < n - 1; i++) { if (list2[i] == (i % 2) || list2[i] == 2) { b++; i++; } } cout << ((a < b) ? a : b); } |