#P4331. [BalticOI 2004] Sequence (Day1)

    ID: 5044 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>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!