70求调(有用的赏关注)
查看原帖
70求调(有用的赏关注)
1591690
keyudong楼主2025/1/19 19:31

70分,请求da lao指教

#include<iostream>
using namespace std;
long long n;
long long a[1000005],dp1[1000005],dp2[1000005],maxx=-1; 
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)dp1[i]=max(dp1[i-1]+a[i],a[i]);
	for(int i=2;i<=n;i++)dp1[i]=max(dp1[i-1],dp1[i]);
	for(int i=n;i>=1;i--)dp2[i]=max(dp2[i+1]+a[i],a[i]);
	for(int i=n-1;i>=1;i--)dp2[i]=max(dp2[i+1],dp2[i]);
	for(int i=2;i<n;i++)maxx=max(dp1[i-1]+dp2[i+1],maxx);
	cout<<maxx;
	return 0;
}
2025/1/19 19:31
加载中...