#include <bits/stdc++.h> using namespace std; int main(){ int n, inf = 1e09+1, wynik = 0, wynik2 = 0; scanf("%d", &n); if(n == 1){printf("0\n"); return 0;} vector<int> t(n), t2(n); scanf("%d", &t[0]); t2[0] = t[0]; for(int i = 1; i < n; ++i){ scanf("%d", &t[i]); t2[i] = t[i]; if((i&1) && t[i-1] >= t[i]) t[i] = inf, ++wynik; else if(!(i&1) && t[i-1] <= t[i]) t[i] = -inf, ++wynik; } for(int i = 1; i < n; ++i){ if(!(i&1) && t2[i-1] >= t2[i]) t2[i] = inf, ++wynik2; else if((i&1) && t2[i-1] <= t2[i]) t2[i] = -inf, ++wynik2; } printf("%d\n", min(wynik, wynik2)); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <bits/stdc++.h> using namespace std; int main(){ int n, inf = 1e09+1, wynik = 0, wynik2 = 0; scanf("%d", &n); if(n == 1){printf("0\n"); return 0;} vector<int> t(n), t2(n); scanf("%d", &t[0]); t2[0] = t[0]; for(int i = 1; i < n; ++i){ scanf("%d", &t[i]); t2[i] = t[i]; if((i&1) && t[i-1] >= t[i]) t[i] = inf, ++wynik; else if(!(i&1) && t[i-1] <= t[i]) t[i] = -inf, ++wynik; } for(int i = 1; i < n; ++i){ if(!(i&1) && t2[i-1] >= t2[i]) t2[i] = inf, ++wynik2; else if((i&1) && t2[i-1] <= t2[i]) t2[i] = -inf, ++wynik2; } printf("%d\n", min(wynik, wynik2)); return 0; } |