TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P7890
  • 题目
  • P7890简单排序
    限制 : 时间限制 : - MS   空间限制 : 524288 KB  SPJ
    评测说明 : 1s,512MB
    问题描述

    你有一个别具一格的序列,其名为 \(a_1,a_2,\cdots,a_n\) ,皆为整数,互不相同。

    你被分配了一个光鲜亮丽的任务,是将它排成升序。

    你可以随心所欲地交换序列中任意的两个数,交换 \(a_i,a_j\) 的代价是 \(A\times |i-j|+B\) ,其中 \(A,B\) 是常数。

    求随心所欲的最小代价,并给出一套行云流水的操作流程。

    输入格式

    第一行一个整数 \(n\)

    第二行 \(n\) 个互不相同的整数 \(a_1,a_2,\cdots,a_n\)

    第三行两个整数 \(A,B\)

    输出格式

    第一行一个整数表示最小代价。

    第二行一个整数 \(k\) 表示操作次数。

    接下来 \(k\) 行每行两个数 \(i,j\) 表示一次操作交换 \(a_i,a_j\)

    • 你给出的操作流程结束时序列应当已经排成升序,且总代价为你计算的最小代价。
    • 你给出的 \(k\) 不应超过 \(4\cdot 10^6\) ,否则会被直接视为操作流程错误。
    • 如果你的最小代价计算错误,该测试点获得 $0$ 分。
    • 如果你的最小代价计算正确,但操作流程错误,该测试点获得 \(20\%\) 的分数。
    • 如果你的最小代价和操作流程均正确,该测试点获得满分。
    提示

    样例1

    样例输入

    4
    42 35 13 21
    1 1
    

    样例输出

    7
    3
    1 3
    3 4
    2 3
    

    样例2

    样例输入

    6
    6 5 4 3 2 1
    5 3
    

    样例输出

    54
    3
    3 4
    2 5
    1 6
    

    数据范围

    对于10%的数据, \(n\leq 20\)\(A=B=1\)
    对于20%的数据, \(n\leq 200\)
    对于40%的数据, \(n\leq 2000\)
    对于70%的数据, \(n\leq 2\cdot 10^5\)\(A=B=1\)
    对于100%的数据, \(1\leq n\leq 2\cdot 10^5\)\(1\leq a_i\leq 10^9\)\(1\leq A,B\leq 10^3\)