样例对了, 测试点全WA, 就是不知道哪里错了
#include <iostream>
using namespace std;
const long long f = 1e5 + 1;
long long st (long long x)
{
if (x <= 2) return 1;
if (x == 3) return -1;
return st (x - 1) - st (x - 2) + st (x - 3);
}
int main ()
{
long long n;
cin >> n;
long long s = 0;
for (int k = 1; k <= n; k ++)
{
long long a[f] = {0}, b[f] = {0};
long long m;
cin >> m;
for (long long i = 1; i <= m; i ++) scanf ("%lld", &a[i]);
for (long long i = 1; i <= m; i ++) scanf ("%lld", &b[i]);
for (long long i = 1; i <= m; i ++)
for (long long j = i; j <= m; j ++)
if (b[j] - (a[j] + st (j - i + 1)) <= b[j] - a[j] && b[j] != a[j]) a[j] += st (j - i + 1);
else
{
s += j - i;
break;
}
if (s % 2 == 1) s %= 2;
cout << s << endl;
}
return 0;
}