#1831. 稻穗分边站

稻穗分边站

T2 稻穗分边站

时间:1s

空间:256M

题目描述

这天阳光明媚,爸爸带着小 S 和小 H 去外面玩,他们路过一大片稻田,正好是丰收的季节,看到农民伯伯们正在收割稻谷,两兄弟就想下来一起玩一玩。他们下来后就一起去捡稻穗,不一会儿就捡了一大捆回来,两人把稻穗平铺在地面上,发现有长有短,这时爸爸想考考两兄弟。

有一堆稻穗,假设这些稻穗的长度只有两种,1 表示长的,0 表示短的,现在需要把长的全部都移动到左边,短的全部放到右边,可是不能直接互相交换,只能通过两两相邻位置交换移动才可以,问最少换几次可以达到目标。

例如现有 1001 ,那么就需要换 22 次,最右边的 10 交换得到 1010,然后再往左边交换一次,就可以得到 1100

输入格式

输入第 11 行,一个正整数 nn ,表示一共有多少根稻穗。

输入第 22 行,nn01 的数字;

输出格式

输出 11 行,表示完成目标需要交换的最小次数。

样例

6
010110
5
4
0111
3

说明/提示

对于 20%20\% 的数据,有 2n1002 \le n \le 100

对于 60%60\% 的数据,有 2n3×1042 \le n \le 3 \times 10^4

对于 100%100\% 的数据,有 2n5×1052 \le n \le 5 \times 10^5