#include<bits/stdc++.h>
using namespace std;
const int maxx=1e5+100;
int a[maxx];//存放原数组
int b[maxx];//存放每个人的奖励
int main()
{
std::ios::sync_with_stdio(false);
long long int n;
cin>>n;
for(int i=0; i<n; i++)
cin>>a[i];
//数列中有递增的情况
b[0]=1;
for(int i=1; i<n; i++)
{
if(a[i]>a[i-1])
b[i]=b[i-1]+1;
else
b[i]=1;
}
//数列中有递减的情况
for(int i=n-1; i>0; i--)
{
if(a[i-1]>a[i])
{
if(b[i-1]<=b[i])//保证b[i-1]取两边最大的加1
b[i-1]=b[i]+1;
}
}
long long int sum=0;
for(int i=0; i<n; i++)
sum+=b[i];
cout<<sum<<endl;
return 0;
}
分麻将(糖果)问题
最新推荐文章于 2022-11-22 22:30:02 发布