#include<bits/stdc++.h>
using namespace std;
const int N=1000010;
int n;
struct PII{
long long a,b;
bool st;
bool operator>(const PII &W)const
{
return a>W.a;
}
}PIIS[N];
void is_need(int i){
PIIS[i].st=false;
if(i<0||i>n){
return;
}
if(i>=2&&PIIS[i-1].a>PIIS[i].a&&PIIS[i-1].b<=PIIS[i].b){
PIIS[i-1].b++;
PIIS[i-1].st=true;
}
if(i<=n-1&&PIIS[i+1].a>PIIS[i].a&&PIIS[i+1].b<=PIIS[i].b){
PIIS[i+1].b++;
PIIS[i+1].st=true;
}
if(PIIS[i-1].st){
is_need(i-1);
}
if(PIIS[i+1].st){
is_need(i+1);
}
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>PIIS[i].a;
}
for(int i=0;i<n;i++){
PIIS[i].b=1;
}
for(int i=0;i<n;i++){
if(PIIS[i].a>PIIS[i-1].a&&PIIS[i].b<=PIIS[i-1].b){
PIIS[i].b++;
PIIS[i].st=true;
}
if(PIIS[i].a>PIIS[i+1].a&&PIIS[i].b<=PIIS[i+1].b){
PIIS[i].b++;
PIIS[i].st=true;
}
if(PIIS[i].st){
is_need(i);
}
}
long long sum=0;
for(int i=0;i<n;i++){
sum+=PIIS[i].b;
}
cout<<sum;
return 0;
}
67分一个wa一个tle我也不知道,这个是我手搓出来的,感觉结构没什么问题