#xXDPlydlt50x5104. 分级 Making the Grade

分级 Making the Grade

题目描述

给定长度为 NN 的序列 AA,构造一个长度为 NN 的序列 BB,满足:

  • BB 非严格单调,即 B1B2BNB_1 \le B_2 \le \dots \le B_NB1B2BNB_1 \ge B_2 \ge \dots \ge B_N
  • 最小化 S=i=1NAiBiS = \sum_{i=1}^N |A_i - B_i|

只需要求出这个最小值 SS

输入格式

第一行包含一个整数 NN

接下来 NN 行,每行包含一个整数 AiA_i

输出格式

输出一个整数,表示最小 SS 值。

样例

输入样例:

7
1
3
2
4
5
3
9

输出样例:

3

样例解释

序列 AA[1,3,2,4,5,3,9][1,3,2,4,5,3,9]

构造非降序列 BB(或非增)使绝对差和最小。

可以验证 SS 的最小值为 33

例如,取 B=[1,2,2,3,3,3,9]B = [1,2,2,3,3,3,9]

  • 11=0|1-1| = 0
  • 32=1|3-2| = 1
  • 22=0|2-2| = 0
  • 43=1|4-3| = 1
  • 53=2|5-3| = 2
  • 33=0|3-3| = 0
  • 99=0|9-9| = 0

=4= 4,不是 33

实际上最优 BB 可能是 [1,2,2,4,5,5,9][1,2,2,4,5,5,9]

  • 11=0|1-1|=0
  • 32=1|3-2|=1
  • 22=0|2-2|=0
  • 44=0|4-4|=0
  • 55=0|5-5|=0
  • 35=2|3-5|=2
  • 99=0|9-9|=0

=3= 3

数据范围

  • 1N20001 \le N \le 2000
  • 0Ai1060 \le A_i \le 10^6

时空限制

  • 时间限制:1 秒
  • 空间限制:64 MB

所有题目已整理完毕。