以下为100分代码,仅供参考。
题目链接
C++代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
int MAX=0;
int sum=0;
int data,flag=1;
int a[500005]={
0};
int temp[10005]={
0};
cin>>n;
for( int i=1; i<=n; i++ )
{
cin>>data;
if( i==1 )
{
a[flag] = data;
flag++;
}
if( i!=1 )
if( a[flag-1]!=data )
{
a[flag] = data;
flag++;
}
}
a[0]=0;
a[flag]=0;
for( int i=1; i<flag; i++ )
{
if( a[i]>a[i-1] &&a[i]>a[i+1] )
{
temp[a[i]]++;
}
else if( a[i]<a[i-1] &&a[i]<a[i+1] )
{
temp[a[i]]--;
}
}
MAX=temp[10000];
for( int i=10000; i>=1; i-- )
{
sum+=temp[i];
// if(sum>MAX)
// MAX = sum;
MAX = max(sum,MAX);
}
cout<<MAX;
return 0;
}