#5468. CSES1188 位翻转

0

CSES1188 位翻转

#CS1188. 位翻转

位翻转

题目背景

翻译自 CSES-1188 题。

题目描述

给定一个由 n 个比特(0 或 1)组成的位串。接着,会有一些操作,每次操作翻转一个指定位置的比特。你的任务是在每次操作后,报告当前位串中所有相同比特构成的最长子串的长度。

输入格式

第一行是一个由 n 个比特组成的字符串,长度为 n,比特的位置从 1 到 n 编号。

第二行是一个整数 m,表示操作的次数。

第三行包含 m 个整数 x1,x2,…,xmx_1, x_2, \dots, x_mx1​,x2​,…,xm​,表示每次操作的位置信息(翻转对应位置的比特)。

输出格式

对于每次操作,输出当前位串中最长的相同比特子串的长度。

样例

001011
3
3 2 5
4 2 3

样例1解释 位串首先变为 011,然后变为 010011,最后变为 0101。

说明/提示

1n2×1051 \leq n \leq 2 \times 10^5

1m2×1051 \leq m \leq 2 \times 10^5

1≤xi≤n1 \leq x_i \leq n1≤xi​≤n。