交错0/1子序列
时间限制:0.5秒 内存限制:256M
【题目描述】
给定一个长度为 \(n\) 的 0/1 序列,初始时序列中全部都是 0。
有 \(m\) 次修改,每次修改给定一个整数 \(i(1≤i≤n)\),如果元素 \(i\) 是 0,则变为1,反之,如果是1,则变为0。
对于一个0/1序列,若其中不存在连续的0和1,则称该序列为 0/1交错序列。
请编程输出每次修改后序列中最长的0/1交错子序列长度。
【输入格式】
第一行有两个整数,分别表示序列的长度 \(n\) 和修改操作的次数 \(m\)。
接下来 \(m\) 行,每行一个整数,表示本次修改的位置 \(i\)。
【输出格式】
对于每次修改操作,输出一行一个整数,表示序列中最长的0/1交错子序列长度。
【输入输出样例】
Input
10 8
4
6
6
7
5
9
10
6
Output
3
5
3
3
4
6
5
3
【数据限制】
对于 \(100\%\) 的数据,\(1≤n,m≤2×10^5\)
【来源】
Mr.he