44分,蒟蒻的代码
#include<bits/stdc++.h>
using namespace std;
int a, n, b, dp = 1, fp, fw, dqfp, pd = 0, maxx = 0;
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
scanf("%d", &fw);
if (fw == 1) {
a++;
} else {
if (fw == 2) {
b++;
}
}
if (a == b) {
dp++;
}
if (pd == 0) {
if (fw == 1 && a <= b) {
pd = 1;
dqfp = 1;
fp = 1;
} else {
if (fw == 2 && a >= b) {
pd = 1;
dqfp = 2;
fp = 1;
}
}
} else {
if (pd == 1) {
if (dqfp == 1) {
if (fw == 1) {
fp++;
maxx = max(maxx, fp);
} else {
if (fw == 2) {
fp = 1;
if (a >= b) {
pd = 1;
dqfp=2;
} else{
pd=0;
}
}
}
} else {
if (dqfp == 2) {
if (fw == 2) {
fp++;
maxx = max(maxx, fp);
} else {
if (fw == 1) {
fp = 1;
if(a<=b){
dqfp=1;
pd=1;
}else{
pd=0;
}
}
}
}
}
}
}
}
printf("%d %d\n%d\n%d", a, b, dp, maxx);
return 0;
}