Reverse-2023河南萌新联赛第(一)场:河南农业大学

Reverse-2023河南萌新联赛第(一)场:河南农业大学_第1张图片

输入

10
0111001011

输出

5

说明

翻转区间[5,10],翻转为0111110100。

只需记录最长的和第二长的连续1的长度,相加即可。可以知道,必定可以使某两段1区间相连。

 

#include
using namespace std;
typedef long long ll;
const int N=1e5+5;
int n,flag,cnt,t,a,b;
vectorv;
string s;
int main(){
	scanf("%d",&n);
	for(int i=0;ia) b=a,a=cnt;
				else if(cnt<=a&&cnt>b) b=cnt;
			}
		}
	}
	if(flag){
		if(cnt>a) b=a,a=cnt;
		else if(cnt<=a&&cnt>b) b=cnt;
	}
	cout<

你可能感兴趣的:(牛客,算法,c++,开发语言,模拟)