voidsolve() { ll a, bb, c; int b; ll A = 0, B = 0, C = 0; scanf("%lld", &a); for (int i = 1; i <= a; i++) { scanf("%d", &b); if (b) A = (A + vis[i]) % mod; } scanf("%lld", &bb); for (int i = 1; i <= bb; i++) { scanf("%d", &b); if (b) B = (B + vis[i]) % mod; } A = A * B % mod; scanf("%lld", &c); f[0] = 0; f[c + 1] = 0; for (int i = 1; i <= c; i++) { scanf("%d",&f[i]); if (f[i]) C = (C + vis[i]) % mod; } for (int i = 1; i <= c; i++) { if (f[i] == 0 && f[i + 1] == 0 && f[i - 1] == 0) // 判断位置是否合法 { if ((vis[i] + C) % mod == A) // 判断bi { printf("%d\n", i); return; } } } }
signedmain() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); ##ifdef FZT_ACM_LOCAL // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); ##else ios::sync_with_stdio(false); int T = 1; scanf("%d",&T); init(); while (T--) solve(); ##endif return0; }