/ Vijos / 题库 /

连续0/1子序列

连续0/1子序列

时间限制:0.5秒  内存限制:256M


【题目描述】

  给定一个长度为 \(n\) 的0/1序列(下标从1开始),初始时序列中全部都是 0。

  有 \(m\) 次修改,每次修改给定一个整数 \(i(1≤i≤n)\),如果元素被 \(i\) 是 0,则变为 1,反之,如果是 1,则变为 0。

  连续子序列,若在0/1序列中,一段连续0或连续的1,称之为连续子序列。

  那么请编程输出每次修改后,序列中最长的连续子序列的长度。

【输入格式】

  第一行有两个整数,分别表示序列的长度 \(n\) 和修改操作的次数 \(m\)。
  接下来 \(m\) 行,每行一个整数,表示本次修改的位置 \(i\)。

【输出格式】

  对于每次修改操作,输出一行一个整数表示序列中最长的连续子序列的长度。

【输入输出样例】

 Input

10 8
4
6
6
7
5
9
10
6

 Output

6
4
6
3
3
3
3
4

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n,m≤2×10^5\)

【来源】

  Mr.he

信息

ID
3155
难度
9
分类
数据结构 | 线段树 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
2
上传者