为啥第二个WA了呜呜呜其他都AC了。。。求救求解
查看原帖
为啥第二个WA了呜呜呜其他都AC了。。。求救求解
479181
duheru666楼主2021/5/20 13:38
#include <bits/stdc++.h>
using namespace std;

int max3(int a,int b,int c){
	if (a>b) return a>c?a:c;
	else if (a<=b) return b>c?b:c;
}

int maxarray(int a[],int left,int right){
	int left_max,right_max;
	int leftborder=0,leftborder_max=0;
	int rightborder=0,rightborder_max=0;
	
	if (left==right) return (a[left]>0)?a[left]:0;
	
	int mid=left+(right-left)/2;
	
	left_max=maxarray(a,left,mid);
	right_max=maxarray(a,mid+1,right);
	
	for (int i=mid;i>=left;i--){
		leftborder+=a[i];
		if (leftborder>leftborder_max) leftborder_max=leftborder;
	}
	
	for (int i=mid+1;i<=right;i++){
		rightborder+=a[i];
		if (rightborder>rightborder_max) rightborder_max=rightborder;
	}
	
	return max3(left_max,right_max,leftborder_max+rightborder_max);
}

int main(){
	ios::sync_with_stdio(false);
	
	int nums[7];
	
	for (int i=0;i<7;i++) cin>>nums[i];
	
	cout<<maxarray(nums,0,6);
	
	return 0;
}  
2021/5/20 13:38
加载中...