#D0001. 构造排列

构造排列

问题背景

我们称一个长度为 nn 的数列 p1,p2,,pnp_1, p_2, \ldots, p_n 为一个排列当且仅当它包含 11nn 范围内的整数恰好一个,其中 nn 称作排列 pp 的大小。

题目描述

给定一个大小为 nn 的数列 a1,a2,,ana_1, a_2, \ldots, a_n,你可以对这个数列进行任意次操作,每次操作,你可以任选其中一个元素并将其数值增加或者减小 11

你可以对同一个元素进行多次操作。

问:最少需要几次操作能将将数列 aa 变成一个排列?

输入格式

第一行,一个整数 n(1n31˙05)n(1 \le n \le 3 \dot 10^5)

第二行,nn 个整数 a1,a2,,an(109ai109)a_1, a_2, \ldots, a_n(-10^9 \le a_i \le 10^9),两两之间以一个空格分隔。

输出格式

输出一个整数,表示将数列 aa 变成一个排列的最少操作次数。

input1

2
3 0

output1

2

input2

3
-1 -1 2

output2

6

说明/提示

样例解释

  • 样例1:一种最优方案是对 a1a_1 进行 111-1 操作,对 a2a_2 进行一次 +1+1 操作,共 22 次操作得到排列 (2,1)(2, 1)
  • 样例2:一种最优方案是对 a1a_1 进行 22+1+1 操作,对 a2a_2 进行 44+1+1 操作,共 66 次操作得到排列 (1,3,2)(1, 3, 2)

数据规模与约定

  • 对于 30%30\% 的数据,n30,103ai103n \le 30, -10^3 \le a_i \le 10^3
  • 对于 60%60\% 的数据,n3103,106ai106n \le 3 \cdot 10^3, -10^6 \le a_i \le 10^6
  • 对于 100%100\% 的数据,n3105,109ai109n \le 3 \cdot 10^5, -10^9 \le a_i \le 10^9