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