AcWing 5420. 胖达与盆盆奶
原题链接
简单
作者:
YAX_AC
,
2024-12-12 12:43:13
,
所有人可见
,
阅读 5
//Since they are lined up既然他们已经排好队了
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
int a[N];
int l[N],r[N];
int ans = 0;
//r[i]表⽰第i个数的右边有⼏个连续下降的数
//l[i]则表⽰第i个数左边有⼏个连续下降的数
//分别记录左边和右边有几个连续下降的数
//取取L[i]和R[i]中较⼤的那个数*100+200,
int main()
{
cin>>n;
for(int i = 1; i<=n; i++) cin>>a[i];
for(int i = n; i>1; i--)
{
int j = i;
while(j-1>=1 && a[j]>=a[j-1])
{
if(a[j] > a[j-1]) l[i]++;
j--;
}
}
for(int i = 1; i<n; i++)
{
int j = i;
while(j+1<=n && a[j]>=a[j+1])
{
if(a[j]>a[j+1]) r[i]++;
j++;
}
}
for (int i = 1; i <= n; i++) ans += max(l[i],r[i])*100+200;
cout<<ans;
return 0;
}