#P16236. [2026保加利亚国家扩展队训练赛女队]Shoes鞋子

[2026保加利亚国家扩展队训练赛女队]Shoes鞋子

题目描述

Momo 喜欢把物品整理得井井有条。他有 NN 双鞋,每双鞋包含一只左鞋和一只右鞋,且两只鞋的尺码相同。

现在,2N2N 只鞋被打乱后排成一列,位置从左到右编号为 0,1,,2N10,1,\ldots,2N-1

若对于每个 ii0i<N0\le i<N),都满足:

  1. 位置 2i2i2i+12i+1 上的鞋尺码相同;
  2. 位置 2i2i 上是左鞋,位置 2i+12i+1 上是右鞋;

则称该序列已经整理好。

Momo 每次可以交换一对相邻位置上的鞋。请计算把鞋子整理好所需的最少交换次数。题目保证一定可以完成整理。

输入格式

第一行包含整数 NN,表示鞋子的双数。

第二行包含 2N2N 个非零整数 A0,A1,,A2N1A_0,A_1,\ldots,A_{2N-1}

  • 鞋子的尺码为 Ai|A_i|
  • Ai<0A_i<0,该鞋是左鞋;
  • Ai>0A_i>0,该鞋是右鞋。

输出格式

输出一个整数,表示整理好所有鞋子所需的最少相邻交换次数。

数据范围

  • 1N1051\le N\le 10^5
  • 1AiN1\le |A_i|\le N

子任务

子任务 分值 依赖子任务 限制
0 样例
1 10 N=1N=1
2 20 0~1 N8N\le 8
3 N105N\le 10^5,所有鞋的尺码相同
4 15 N105N\le 10^5;前 NN 只全为左鞋,后 NN 只全为右鞋,且位置 iii+Ni+N 的鞋尺码相同
5 20 0~2 N103N\le 10^3
6 15 0~5 N105N\le 10^5,无额外限制

只有通过某子任务及其所有依赖子任务的全部测试,才能获得该子任务的分数。

样例 1

输入
2
2 1 -1 -2

输出
4

一种最优过程最终得到:

-2 2 -1 1

最少需要 44 次相邻交换。

样例 2

输入
3
-2 2 2 -2 -2 2

输出
1

交换原序列中位置 22 和位置 33 的鞋,即可得到:

-2 2 -2 2 -2 2