首先呢,贴个代码,开个o2 70pts
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n, sum[100001], ans, m, w;
bool f[100001];
signed main()
{
scanf ("%d", &n);
for (int i = 1; i <= n; ++ i){scanf ("%d", &f[i]);sum[i] = sum[i - 1];if (f[i]){++ m;++ sum[i];}else{++ w;-- sum[i];}}
if (m == 0 || w == 0){puts ("0");return 0;}
for (int i = 1; i <= n / 2; ++ i)
{
for (int j = 1; j <= n - i * 2; ++ j)
{
int k = j + i * 2;
if (sum[k] - sum[j] == 0){ans = i * 2;break;}
}
}
printf ("%d", ans);
return 0;
}
but,我在看错误数据时发现了一个可怕的问题:
#3 #7 #11 的输出答案竟然是7, 7和5,令人下出冷汗:男女人数相等的子序列长度不应该都是偶数吗?
看到此贴的朋友们可以帮忙@一下吗?