#AT1315. C - Unification

C - Unification

C - 合并

得分:300 分

问题描述

桌子上竖直堆放着 $N$ 个立方体。

给出一个长度为 $N$ 的字符串 $S$。如果字符串 $S$ 的第 $i$ 个字符是 0,则第 $i$ 个立方体是红色;如果第 $i$ 个字符是 1,则第 $i$ 个立方体是蓝色。

你可以进行以下操作任意多次:选择相邻的一块红色立方体和一块蓝色立方体,并将它们移除。在此过程中,被移除的立方体上面的立方体会掉落到它们下方。

至多可以移除多少个立方体?

约束

  • $1 \leq N \leq 10^5$
  • $|S| = N$
  • $S$ 中的每个字符是 01

输入

从标准输入读入数据,输入格式如下:

SS

输出

输出可以移除的最大立方体数量。


0011
4

可以通过以下操作移除所有四个立方体:

  • 先移除底部的第二个和第三个立方体,这样第四个立方体就会掉落到第一块立方体上。
  • 再移除底部的第一和第二块立方体。

11011010001011
12

0
0