#include<bits/stdc++.h> using namespace std; const int inf = 1000000000; const int neg = -1000000000; int wysdm[50000]; int wysmd[50000]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; for(int i = 0; i<n; i++) { cin>>wysdm[i]; wysmd[i]=wysdm[i]; } int zm1 = 0; int zm2 = 0; for(int i = 1; i<n; i++) { if(wysdm[i-1]<=wysdm[i])wysdm[i]=neg,zm1++; i++; if(wysdm[i-1]>=wysdm[i])wysdm[i]=inf,zm1++; } for(int i = 1; i<n; i++) { if(wysmd[i-1]>=wysmd[i])wysmd[i]=inf,zm2++; i++; if(wysmd[i-1]<=wysmd[i])wysmd[i]=neg,zm2++; } cout<<min(zm1, zm2); } //
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 | #include<bits/stdc++.h> using namespace std; const int inf = 1000000000; const int neg = -1000000000; int wysdm[50000]; int wysmd[50000]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; for(int i = 0; i<n; i++) { cin>>wysdm[i]; wysmd[i]=wysdm[i]; } int zm1 = 0; int zm2 = 0; for(int i = 1; i<n; i++) { if(wysdm[i-1]<=wysdm[i])wysdm[i]=neg,zm1++; i++; if(wysdm[i-1]>=wysdm[i])wysdm[i]=inf,zm1++; } for(int i = 1; i<n; i++) { if(wysmd[i-1]>=wysmd[i])wysmd[i]=inf,zm2++; i++; if(wysmd[i-1]<=wysmd[i])wysmd[i]=neg,zm2++; } cout<<min(zm1, zm2); } // |