#P3318. 「CCO 2020」赶作业 ddl

「CCO 2020」赶作业 ddl

题目描述

译自 CCO 2020 Day1 T2「Exercise Deadlines,翻译者: ShineEternal


给定一个长度为 NN 的序列 did_i

你有一个长度为 NN 的序列 aia_i,初始状态下 ai=ia_i=i

你需要每次交换序列 aia_i 中相邻的两个数,使得最终满足对于任意的 1in1\le i\le n,均有 aidia_i\le d_i。求出最少需要多少次。

输入格式

输入第一行一个整数 NN

第二行共 NN 个整数 did_i

输出格式

输出最少的交换次数。

4
4 4 3 2
3
3
1 1 3
-1

数据范围与提示

对于 68%68\% 的数据,保证 N5000N\le 5000
对于 100%100\% 的数据,保证 1N2×1051\le N\le 2\times 10^51diN1\le d_i\le N