#4658. 最少交换

最少交换

题目描述

给定一个长度为 nn 的整数序列,其中每个数都是 001122。每次可以交换序列中任意两个位置上的数。

求至少交换多少次,才能使序列变成非递减序列。

输入格式

第一行包含一个整数 nn

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

输出一个整数,表示最少交换次数。

5
2 0 1 2 0
1
15
2 0 2 0 2 0 0 2 0 0 2 0 0 1 1
6
17
2 1 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
6
3
2 0 1
2

数据范围与提示

  • 1n1061 \le n \le 10^6
  • 0ai20 \le a_i \le 2