写的都与题解一样了,还错
查看原帖
写的都与题解一样了,还错
1009958
niuniudundun楼主2024/12/5 17:45
#include<iostream>
using namespace std;
const int maxn=1e6+1;
long long n,a[maxn],b[maxn],ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		b[i]=1;
	}
	for(int i=2;i<=n;i++){
		if(a[i-1]<a[i]){
			b[i]=b[i-1]+1;
		}
		if(a[i]==a[i-1]){
			b[i]=b[i-1];
		}
	}
	for(int i=n;i>=2;i--){
		if(a[i]<a[i-1]){
			b[i]=max(b[i-1],b[i]+1);
		}
		if(a[i]==a[i-1]){
			b[i-1]=b[i];
		}
	}
	for(int i=1;i<=n;i++){
		ans+=b[i];
	}
	cout<<ans<<endl;
	return 0;
}
2024/12/5 17:45
加载中...