#include <bits/stdc++.h> using namespace std; int n, licznikwie, licznikmnie, flag; int t[50007], ta[50007]; int main() { std::ios_base::sync_with_stdio(0); cin>>n; cin>>t[0]; cin>>t[1]; if(t[1] == t[0]){ flag = 3; t[1] = 1e9; ta[1] = -1e9; licznikmnie = 1; licznikwie = 1; } else if(t[1] < t[0]){ flag = 2; ta[1] = 1e9; licznikwie = 1; } else if(t[1] > t[0]) { flag = 1; ta[1] = -1e9; licznikmnie = 1; } for(int i=2;i<n;++i){ cin>>t[i]; ta[i] = t[i]; if(flag == 1){ if(i%2==0){ if(t[i] >= t[i-1]){ t[i] = -1e9; ++licznikwie; } if(ta[i]<=ta[i-1]){ ta[i] = 1e9; ++licznikmnie; } } else{ if(t[i] <= t[i-1]){ t[i] = 1e9; ++licznikwie; } if(ta[i] >= ta[i-1]){ ta[i] = -1e9; ++licznikmnie; } } } else if(flag == 2){ if(i%2==0){ if(t[i] <= t[i-1]){ ++licznikmnie; t[i] = 1e9; } if(ta[i] >= ta[i-1]){ ++licznikwie; ta[i] = -1e9; } } else{ if(t[i] >= t[i-1]){ ++licznikmnie; t[i] = -1e9; } if(ta[i] <= ta[i-1]){ ++licznikwie; ta[i] = 1e9; } } } else if(flag == 3){ if(i%2==0){ if(t[i] >= t[i-1]){ ++licznikwie; t[i] = -1e9; } if(ta[i] <= ta[i-1]){ ++licznikmnie; ta[i] = 1e9; } } else{ if(t[i] <= t[i-1]){ ++licznikwie; t[i] = 1e9; } if(ta[i] >= ta[i-1]){ ++licznikmnie; ta[i] = -1e9; } } } } cout<<min(licznikmnie, licznikwie); 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 | #include <bits/stdc++.h> using namespace std; int n, licznikwie, licznikmnie, flag; int t[50007], ta[50007]; int main() { std::ios_base::sync_with_stdio(0); cin>>n; cin>>t[0]; cin>>t[1]; if(t[1] == t[0]){ flag = 3; t[1] = 1e9; ta[1] = -1e9; licznikmnie = 1; licznikwie = 1; } else if(t[1] < t[0]){ flag = 2; ta[1] = 1e9; licznikwie = 1; } else if(t[1] > t[0]) { flag = 1; ta[1] = -1e9; licznikmnie = 1; } for(int i=2;i<n;++i){ cin>>t[i]; ta[i] = t[i]; if(flag == 1){ if(i%2==0){ if(t[i] >= t[i-1]){ t[i] = -1e9; ++licznikwie; } if(ta[i]<=ta[i-1]){ ta[i] = 1e9; ++licznikmnie; } } else{ if(t[i] <= t[i-1]){ t[i] = 1e9; ++licznikwie; } if(ta[i] >= ta[i-1]){ ta[i] = -1e9; ++licznikmnie; } } } else if(flag == 2){ if(i%2==0){ if(t[i] <= t[i-1]){ ++licznikmnie; t[i] = 1e9; } if(ta[i] >= ta[i-1]){ ++licznikwie; ta[i] = -1e9; } } else{ if(t[i] >= t[i-1]){ ++licznikmnie; t[i] = -1e9; } if(ta[i] <= ta[i-1]){ ++licznikwie; ta[i] = 1e9; } } } else if(flag == 3){ if(i%2==0){ if(t[i] >= t[i-1]){ ++licznikwie; t[i] = -1e9; } if(ta[i] <= ta[i-1]){ ++licznikmnie; ta[i] = 1e9; } } else{ if(t[i] <= t[i-1]){ ++licznikwie; t[i] = 1e9; } if(ta[i] >= ta[i-1]){ ++licznikmnie; ta[i] = -1e9; } } } } cout<<min(licznikmnie, licznikwie); return 0; } |