#include <iostream> #include <vector> using namespace std; int main() { int n; scanf("%d", &n); int ans1 = 0, ans2 = 0; vector<int> tone(n+5); for(int i = 1; i <= n; i++) { scanf("%d", &tone[i]); } //opcja 1 - poczatek to gora int counter = 0; tone[0] = tone[1] - 1; if(n % 2 == 0) { tone[n+1] = tone[n] + 1; } else { tone[n+1] = tone[n] - 1; } for(int i = 1; i <= n; i++) { if(i % 2 == 1) { if(tone[i] <= tone[i+1]) { counter++; if(counter % 2 == 1) { ans1++; } } else { counter = 0; } } else { if(tone[i] >= tone[i+1]) { counter++; if(counter % 2 == 1) { ans1++; } } else { counter = 0; } } } counter = 0; //opcja 2 tone[0] = tone[1] + 1; if(n % 2 == 0) { tone[n+1] = tone[n] - 1; } else { tone[n+1] = tone[n] + 1; } for(int i = 1; i <= n; i++) { if(i % 2 == 1) { if(tone[i] >= tone[i+1]) { counter++; if(counter % 2 == 1) { ans2++; } } else { counter = 0; } } else { if(tone[i] <= tone[i+1]) { counter++; if(counter % 2 == 1) { ans2++; } } else { counter = 0; } } } ans1 = min(ans1, ans2); printf("%d", ans1); return 0; }
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 | #include <iostream> #include <vector> using namespace std; int main() { int n; scanf("%d", &n); int ans1 = 0, ans2 = 0; vector<int> tone(n+5); for(int i = 1; i <= n; i++) { scanf("%d", &tone[i]); } //opcja 1 - poczatek to gora int counter = 0; tone[0] = tone[1] - 1; if(n % 2 == 0) { tone[n+1] = tone[n] + 1; } else { tone[n+1] = tone[n] - 1; } for(int i = 1; i <= n; i++) { if(i % 2 == 1) { if(tone[i] <= tone[i+1]) { counter++; if(counter % 2 == 1) { ans1++; } } else { counter = 0; } } else { if(tone[i] >= tone[i+1]) { counter++; if(counter % 2 == 1) { ans1++; } } else { counter = 0; } } } counter = 0; //opcja 2 tone[0] = tone[1] + 1; if(n % 2 == 0) { tone[n+1] = tone[n] - 1; } else { tone[n+1] = tone[n] + 1; } for(int i = 1; i <= n; i++) { if(i % 2 == 1) { if(tone[i] >= tone[i+1]) { counter++; if(counter % 2 == 1) { ans2++; } } else { counter = 0; } } else { if(tone[i] <= tone[i+1]) { counter++; if(counter % 2 == 1) { ans2++; } } else { counter = 0; } } } ans1 = min(ans1, ans2); printf("%d", ans1); return 0; } |