#include <bits/stdc++.h> using namespace std; int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(nullptr); std::cout.tie(nullptr); int n, w1=0, w2=0; cin>>n; int t[n]; for(int i=0; i<n; ++i) cin>>t[i]; vector <char> s; s.push_back(0); for(int i=0; i<n-1; ++i) { if(t[i+1]>t[i]) s.push_back('W'); if(t[i+1]<t[i]) s.push_back('M'); if(t[i+1]==t[i]) s.push_back('R'); } s.push_back(0); vector <char> s2; s2=s; for(int i=1; i<n; ++i) { if(i%2==1) { if(s[i]=='W' || s[i]=='R') { if(s[i+1]=='M' || s[i+1]=='R') s[i+1]='W'; s[i]='M'; ++w1; } } else { if(s[i]=='M' || s[i]=='R') { if(s[i+1]=='W' || s[i+1]=='R') s[i+1]='M'; s[i]='W'; ++w1; } } } for(int i=1; i<n; ++i) { if(i%2==1) { if(s2[i]=='M' || s2[i]=='R') { if(s2[i+1]=='W' || s2[i+1]=='R') s2[i+1]='M'; s2[i]='W'; ++w2; } } else { if(s2[i]=='W' || s2[i]=='R') { if(s2[i+1]=='M' || s2[i+1]=='R') s2[i+1]='W'; s2[i]='M'; ++w2; } } } cout<<min(w1, w2); 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 | #include <bits/stdc++.h> using namespace std; int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(nullptr); std::cout.tie(nullptr); int n, w1=0, w2=0; cin>>n; int t[n]; for(int i=0; i<n; ++i) cin>>t[i]; vector <char> s; s.push_back(0); for(int i=0; i<n-1; ++i) { if(t[i+1]>t[i]) s.push_back('W'); if(t[i+1]<t[i]) s.push_back('M'); if(t[i+1]==t[i]) s.push_back('R'); } s.push_back(0); vector <char> s2; s2=s; for(int i=1; i<n; ++i) { if(i%2==1) { if(s[i]=='W' || s[i]=='R') { if(s[i+1]=='M' || s[i+1]=='R') s[i+1]='W'; s[i]='M'; ++w1; } } else { if(s[i]=='M' || s[i]=='R') { if(s[i+1]=='W' || s[i+1]=='R') s[i+1]='M'; s[i]='W'; ++w1; } } } for(int i=1; i<n; ++i) { if(i%2==1) { if(s2[i]=='M' || s2[i]=='R') { if(s2[i+1]=='W' || s2[i+1]=='R') s2[i+1]='M'; s2[i]='W'; ++w2; } } else { if(s2[i]=='W' || s2[i]=='R') { if(s2[i+1]=='M' || s2[i+1]=='R') s2[i+1]='W'; s2[i]='M'; ++w2; } } } cout<<min(w1, w2); return 0; } |