#ARC225D. 间隔交换(简单版)

间隔交换(简单版)

间隔交换(简单版)

时间限制:2s
空间限制:1024MB

题目描述

给定排列 P=(P1,…,PN)P=(P_1,\ldots,P_N)。一次操作选择 1≤i<j≤N1\le i<j\le N,要求所有 i<k<ji<k<j 都满足 Pk=kP_k=k,随后交换 Pi,PjP_i,P_j,代价为 j−ij-i。求把排列变为升序所需的最小总代价。相邻位置之间没有中间元素,因此总能操作。

输入格式

第一行一个整数 NN,第二行给出排列 PP。

输出格式

输出最小总代价。

样例输入 1

6
6 2 3 5 4 1

样例输出 1

6

样例输入 2

3
1 2 3

样例输出 2

0

数据范围

对于所有数据,2≤N≤5×1052\le N\le5\times10^5,PP 是 1,…,N1,\ldots,N 的排列。

子任务编号 分值 特殊限制
1 15 N≤8N\le8
2 25 恰有两个位置满足 Pi≠iP_i\ne i
3 30 对所有 ii 均有 ∣Pi−i∣≤1\vert P_i-i\vert \le1
4 无特殊限制