#CSES1188. 位翻转

位翻转

题目背景

翻译自 CSES-1188 题。

题目描述

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

输入格式

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

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

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

输出格式

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

样例

001011
3
3 2 5
4 2 3

样例1解释

位串首先变为 000011,然后变为 010011,最后变为 010001

说明/提示

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

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

1xin1 \leq x_i \leq n