班里有 N 位同学,每位同学要么是巴萨球迷,要么是皇马球迷。陈老师要给他们分宿舍,同一个宿舍必须满足下面三条中的任意一条:
宿舍里全部是巴萨球迷;
宿舍里全部是皇马球迷;
宿舍里两种球迷的人数之差不超过 M。
现在 N 位同学已经排成一队,陈老师只会把连续的一段同学分进同一个宿舍。
请问陈老师最少要安排几个宿舍才够?
第一行两个整数 N 和 M。
接下来 N 行,每行一个整数,1 表示巴萨球迷,2 表示皇马球迷。
输出仅一个整数,表示最少的宿舍数量。
5 1 2 2 1 2 2
2
样例解释
N=5,\ M=1,队伍是 2\ 2\ 1\ 2\ 2,即 皇马、皇马、巴萨、皇马、皇马 (4 个皇马,1 个巴萨)。
若只分 1 个宿舍:两种人数差 |4-1| = 3 > M = 1,又不全是同一类,不合法;
分成 [2,2] 和 [1,2,2]:第一段全是皇马,合法;第二段 2 个皇马、1 个巴萨,人数差 1 \le M,也合法。共用 2 个宿舍,所以答案是 2。
数据范围
对于 30\% 的数据,1 \le N, M \le 50;
对于 100\% 的数据,1 \le N, M \le 2500。
本题共 10 个测试点,每个 10 分。