样例求助
查看原帖
样例求助
512587
Konnyaku_q楼主2024/7/30 11:28
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<cmath>
#include<queue>
#include<algorithm>
#include<vector>
using namespace std;
long long  n,a[1000000],qv[1000000],ge,ans;
int main()
{
   cin>>n;
   for(int i=1;i<=n;i++)
   {
        cin>>a[i];	
        qv[i]=1;
   }
   for(int i=2;i<=n;i++)
   {
   	if(a[i]>a[i-1])
   	{
   		qv[i]=qv[i-1]+1;
	}
	if(a[i]==a[i-1])
	{
		qv[i]=qv[i-1];
	}
   }
   for(int i=n;i>=2;i--)
   {
   	if(a[i-1]>a[i])
   	{
   		qv[i-1]=max(qv[i],qv[i+1]+1); 
	}
	if(a[i]==a[i-1])
	{
		a[i-1]=a[i];
	}
   }
   for(int i=1;i<=n;i++)
   {
     ans=ans+qv[i];
   }
   cout<<ans<<endl;
  return 0;
}

RT样例都不对

2024/7/30 11:28
加载中...