已发现问题
无法输出r1
这是为啥?
#include<bits/stdc++.h>
using namespace std;
int m,n,a[200001],l1,s,r1,maxx=0,ans;
int maxq(int x,int y)
{
if(x>y)
return x;
return y;
}
int fen(int l, int r)
{
if(l==r)
return a[l];
m=(l+r)/2;
s=0,l1=maxx,r1=maxx;
for(int i=m;i>=1;i--)
{
s+=a[i];
l1=maxq(l1,s);
}
int s1=0;
for(int i=m+1;i<=n;i++)
{
s1+=a[i];
r1=max(r1,s1);
cout<<r1;
}
return maxq(maxq(fen(l,m),fen(m+1,r)),l1+r1);
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
cout<<fen(1,n)