#include <bits/stdc++.h> #define inf 1000000003 using namespace std; int res1,res2,arr1[50003],arr2[50003]; int main(){ int n; scanf("%d",&n); for(int i=0; i<n; i++){ scanf("%d",&arr1[i]); arr2[i]=arr1[i]; } for(int i=1; i<n; i++){ if(!(i&1)){ if(arr1[i]<=arr1[i-1]){ res1++; arr1[i]=inf; } } else{ if(arr1[i]>=arr1[i-1]){ res1++; arr1[i]=-inf; } } } for(int i=1; i<n; i++){ if(!(i&1)){ if(arr2[i]>=arr2[i-1]){ res2++; arr2[i]=-inf; } } else{ if(arr2[i]<=arr2[i-1]){ res2++; arr2[i]=inf; } } } printf("%d\n",min(res1,res2)); 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 | #include <bits/stdc++.h> #define inf 1000000003 using namespace std; int res1,res2,arr1[50003],arr2[50003]; int main(){ int n; scanf("%d",&n); for(int i=0; i<n; i++){ scanf("%d",&arr1[i]); arr2[i]=arr1[i]; } for(int i=1; i<n; i++){ if(!(i&1)){ if(arr1[i]<=arr1[i-1]){ res1++; arr1[i]=inf; } } else{ if(arr1[i]>=arr1[i-1]){ res1++; arr1[i]=-inf; } } } for(int i=1; i<n; i++){ if(!(i&1)){ if(arr2[i]>=arr2[i-1]){ res2++; arr2[i]=-inf; } } else{ if(arr2[i]<=arr2[i-1]){ res2++; arr2[i]=inf; } } } printf("%d\n",min(res1,res2)); return 0; } |