编程题
### 问题描述
有一个由 $N$ 个黑色和白色珠子组成的环形珠串。你可以交换任意两个珠子的位置。最少需要多少次交换才能使同色的珠子都相邻?
### 输入格式
第一行包含一个整数 $N$。
第二行包含 $N$ 个整数,代表珠串的初始状态。白色珠子由数字 `0` 表示,黑色珠子由数字 `1` 表示。注意珠串是环形的。
### 输出格式
输出一个整数,表示达到目标状态所需的最小交换次数。
### 样例输入
```
8
1 0 0 1 1 0 0 1
```
### 样例输出
```
2
```
### 评测数据规模
- $1 \leq N \leq 10^5$