|B_i - A_i|의 합이 최소가 되도록 수열 A를 순증가 정수 수열 B로 바꾸고, 그중 사전순으로 가장 작은 B를 출력한다.
길이가 NNN인 정수 수열 A1,A2,…,ANA_1, A_2, \dots, A_NA1,A2,…,AN이 주어진다.
B1<B2<⋯<BNB_1 < B_2 < \dots < B_NB1<B2<⋯<BN을 만족하는 정수 수열 BBB 가운데 ∣B1−A1∣+∣B2−A2∣+⋯+∣BN−AN∣|B_1 - A_1| + |B_2 - A_2| + \dots + |B_N - A_N|∣B1−A1∣+∣B2−A2∣+⋯+∣BN−AN∣을 최소로 만드는 것을 찾아야 한다. BBB의 모든 원소는 32비트 부호 있는 정수 범위 안에 들어간다.
합을 최소로 만드는 BBB는 여러 개일 수 있다. 그중 사전순으로 가장 앞서는 것을 출력한다. 즉 B1B_1B1을 될 수 있는 대로 작게 잡고, 그 값을 고정한 뒤 B2B_2B2를 될 수 있는 대로 작게 잡는 식으로 정한다.
첫째 줄에 NNN이 주어진다. (1≤N≤1061 \le N \le 10^61≤N≤106)
둘째 줄에 A1,A2,…,ANA_1, A_2, \dots, A_NA1,A2,…,AN이 공백으로 구분되어 주어진다. (0≤Ai≤2×1090 \le A_i \le 2 \times 10^90≤Ai≤2×109)
사전순으로 가장 앞서는 최적 수열 BBB를 NNN개의 줄에 한 원소씩 출력한다.
A={9,4,8,20,14,15,18}A = \{9, 4, 8, 20, 14, 15, 18\}A={9,4,8,20,14,15,18}일 때 합의 최솟값은 131313이다. 이 값을 만드는 BBB는 하나가 아니어서 B={6,7,8,13,14,15,18}B = \{6, 7, 8, 13, 14, 15, 18\}B={6,7,8,13,14,15,18}의 합도 131313이다. 사전순으로 가장 앞서는 것은 B={3,4,8,13,14,15,18}B = \{3, 4, 8, 13, 14, 15, 18\}B={3,4,8,13,14,15,18}이다.