#535. [普及]小X与煎饼达人(flip)
[普及]小X与煎饼达人(flip)
说明
大叔每次会将从第 x 块煎饼开始到第 y 块煎饼结束的这 y-x+1 块煎饼全部翻个个儿(正面翻到反面, 反面翻到正面)。
而他每次会选择不同的区间(区间是指连续的一段煎饼,如 3, 4, 5, 6 四块煎饼用区间[3, 6] 表示)来翻这些煎饼。每块煎饼都有正反两面, 开始时这些煎饼都是反面朝上。
输入格式
开始时这 n 块煎饼都是反面朝上(提示: 可以用 0 表示煎饼的反面,1 表示煎饼的正面)
【数据范围】
对于 30% 的数据, 1 ≤ n, m ≤ 100,1 ≤ x ≤ y ≤ n
对于另外 30% 的数据, 1 ≤ n ≤ 1000000,1 ≤ m ≤ 100000, x = 1, 1 ≤ y ≤ n
对于另外 40% 的数据, 1 ≤ n ≤ 1000000,1 ≤ m ≤ 100000,1 ≤ x ≤ y ≤ n
输出格式
输出仅有一行包含一个整数ans, 表示最后有ans块煎饼是正面朝上的。
样例
10 5
1 8
5 6
1 9
3 8
2 7
5
提示
【样例解释】
共有 10 块煎饼, 开始时状态为“反反反反反反反反反反”, 第一次操作将区间[1,8] 的煎饼翻个身,状态变成“ 正正正正正正正正反反”, 红色表示翻的区间。 第二次操作将区间[5,6] 的煎饼翻个身, 状态变成“正正正正反反正正反反”。 第三次操作将区间[1, 9] 的煎饼翻个身, 状态变成“ 反反反反正正反反正反”。 第四次操作将区间[3,8] 的煎饼翻个身, 状态变成“反反正正反反正正正反”。 第五次操作将区间[2,7] 的煎饼翻个身, 状态变成“反正反反正正反正正反”。最后共有 5 块煎饼正面朝上。
来源
常州市2016“信息与未来”夏令营选拔赛