CF285C.Building Permutation

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Permutation pp is an ordered set of integers p1,p2,...,pnp_{1},p_{2},...,p_{n} , consisting of nn distinct positive integers, each of them doesn't exceed nn . We'll denote the ii -th element of permutation pp as pip_{i} . We'll call number nn the size or the length of permutation p1,p2,...,pnp_{1},p_{2},...,p_{n} .

You have a sequence of integers a1,a2,...,ana_{1},a_{2},...,a_{n} . In one move, you are allowed to decrease or increase any number by one. Count the minimum number of moves, needed to build a permutation from this sequence.

输入格式

The first line contains integer nn ( 1<=n<=31051<=n<=3·10^{5} ) — the size of the sought permutation. The second line contains nn integers a1,a2,...,ana_{1},a_{2},...,a_{n} ( 109<=ai<=109-10^{9}<=a_{i}<=10^{9} ).

输出格式

Print a single number — the minimum number of moves.

Please, do not use the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

输入输出样例

  • 输入#1

    2
    3 0
    

    输出#1

    2
    
  • 输入#2

    3
    -1 -1 2
    

    输出#2

    6
    

说明/提示

In the first sample you should decrease the first number by one and then increase the second number by one. The resulting permutation is (2,1)(2,1) .

In the second sample you need 6 moves to build permutation (1,3,2)(1,3,2) .

首页