#lg4331. C18 左偏树 [BalticOI 2004] Sequence (Day1)

    ID: 3020 传统题 1000ms 128MiB 尝试: 4 已通过: 1 难度: 10 上传者: 标签>动态规划 DP贪心线段树可并堆斜率维护技巧 slope trickSpecial Judge省选/NOI−

C18 左偏树 [BalticOI 2004] Sequence (Day1)

P4331 [BalticOI 2004] Sequence (Day1)

题目描述

给定一个序列 t1,t2,,tnt_1,t_2,\dots,t_n,求出一个递增序列 z1,z2,,znz_1,z_2,\dots,z_n,使得序列 tit_iziz_i 的各项之差的绝对值之和 t1z1+t2z2++tnzn|t_1-z_1|+|t_2-z_2|+\dots+|t_n-z_n| 最小。

输入格式

输入文件的第一行包含一个整数 nn

接下来 nn 行,每行包含一个整数,表示给定的序列 tit_i

输出格式

输出文件的第一行应当包含最小的各项之差的绝对值之和。

接下来 nn 行,每行应当包含一个整数,表示所求的序列 ziz_i

输入输出样例 #1

输入 #1

7
9
4
8
20
14
15
18

输出 #1

13
6
7
8
13
14
15
18

说明/提示

数据规模与约定

对于 100%100\% 的数据,有 1n1061\le n\le 10^60ti2×1090\le t_i\le 2\times 10^9

说明

译自 BalticOI 2004 Day1 C Sequence

感谢 @TimeTraveller 提供的 SPJ!