其实就是环形区间找最长连续1的个数,只要断环为链即可。
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
int T; cin >> T; while (T -- )
{
int n; cin >> n;
vector<int> a(2 * n);
for (int i = 0; i < n; i ++ ) cin >> a[i], a[i + n] = a[i];
int res = 0;
for (int i = 0, cur = 0; i < 2 * n; i ++ )
{
if (a[i] == 0) res = max(res, cur), cur = 0;
else cur ++ ;
}
cout << res << endl;
}
return 0;
}