80分代码求助……
查看原帖
80分代码求助……
348511
原子げんし楼主2020/6/23 21:22
//write for s26

#include<bits/stdc++.h>
using namespace std;
int a[1000010];
int dp[1000010];
int main() {
	int n,ans=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++) {
		scanf("%d",a+i);
		dp[i]=1;
	}
	for(int i=2;i<=n;i++) {
		if(a[i]>a[i-1]) {
			dp[i]=dp[i-1]+1;
		}
		if(a[i]==a[i-1]) {
			dp[i]=dp[i-1];
		}
	}
	for(int i=n;i>=2;i--) {
		if(a[i]<a[i-1]) {
			dp[i-1]=max(dp[i-1],dp[i]+1);
		}
		if(a[i]==a[i-1]) {
			dp[i-1]=max(dp[i-1],dp[i]);
		}
	}
	for(int i=1;i<=n;i++) {
		ans+=dp[i];
	}
	cout<<ans<<endl;
	return 0;
}


哪儿错了???

2020/6/23 21:22
加载中...