AT_past202306_k.入れ替えてソート
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长度为 N 的序列 P=(P1,P2,…,PN),该序列是 1,2,…,N 的一个排列。
你可以对该序列进行如下任意次数(可以为零)的操作:
- 选择一个整数 i,满足 1≤i≤N−1,交换 P 的第 i 个元素和第 i+1 个元素。此次操作的代价为被交换的两个数之和。
请计算将 P 排序为升序所需的最小总代价。
输入格式
输入通过标准输入给出,格式如下:
N P1 P2 … PN
输出格式
输出最小总代价。
输入输出样例
输入#1
4 3 2 1 4
输出#1
12
输入#2
9 3 1 4 5 9 2 6 8 7
输出#2
96
输入#3
6 1 2 3 4 5 6
输出#3
0
说明/提示
样例解释 1
例如,通过以下三次操作,可以将 P 按升序排列:
- 选择 i=1,交换 3 和 2,代价为 5,序列变为 (2,3,1,4)。
- 选择 i=2,交换 3 和 1,代价为 4,序列变为 (2,1,3,4)。
- 选择 i=1,交换 2 和 1,代价为 3,序列变为 (1,2,3,4)。
由于不可能用小于 12 的总代价将序列升序排列,所以答案为 12。
样例解释 3
有时可能无需进行任何操作。
数据范围
- 1≤N≤2×105
- N 是整数。
- P 是 1,2,…,N 的一个排列。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?