#P4331. [BalticOI 2004] Sequence (Day1)

    ID: 3271 Type: RemoteJudge 1000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 9 Uploaded By: Tags>2004线段树Special Judge左偏树栈BalticOI

[BalticOI 2004] Sequence (Day1)

题目描述

给定一个序列 t1,t2,…,tnt_1,t_2,\dots,t_n,求出一个递增序列 z1,z2,…,znz_1,z_2,\dots,z_n,使得序列 tit_i 和 ziz_i 的各项之差的绝对值之和 ∣t1−z1∣+∣t2−z2∣+⋯+∣tn−zn∣|t_1-z_1|+|t_2-z_2|+\dots+|t_n-z_n| 最小。

输入格式

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

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

输出格式

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

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

7
9
4
8
20
14
15
18
13
6
7
8
13
14
15
18

提示

数据规模与约定

对于 100%100\% 的数据,有 1≤n≤1061\le n\le 10^6,0≤ti≤2×1090\le t_i\le 2\times 10^9。

说明

译自 BalticOI 2004 Day1 C Sequence。

感谢 @TimeTraveller 提供的 SPJ!