题目描述
给定一个整数序列a1,a2,⋅⋅⋅,an,求出一个递增序列b1<b2<⋅⋅⋅<bn,使得序列ai和bi的各项之差的绝对值之和∣a1−b1∣+∣a2−b2∣+⋅⋅⋅+∣an−bn∣最小。
输入格式
第一行为数字n(1≤n≤106),接下来一行共有n个数字,表示序列ai(0≤ai≤2×109)。
输出格式
第一行输出最小的绝对值之和。
第二行输出序列bi,若有多种方案,只需输出其中一种。
5
2 5 46 12 1
47
2 5 11 12 13
提示
【数据范围】
40%的数据n≤5000;
60%的数据n≤300000;
100%的数据n≤1000000,0≤ai≤2×109;
题目来源:Baltic OI 2004 Day 1,Sequence
感谢@TimeTraveller提供SPJ。