解题思路1: 用0分割数组 记录每一段的第一个负号和最后一个负号,以及负号的个数 对于每一段,如果负号的个数为偶数则此整段就是长度 如果负号的个数为奇数,则比较该段开始到第一个负号的长度a和最后一个负号到结尾的长度b。总长度-min(a,b)就是该段的长度 比较每段长度取最大值即可。 #include<bits/stdc++.h> using namespace std; struct record{ int start; int end; vector<int> n_arr; }; int main(){ int n; cin>>n; vector&l...