#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; } |
English