TouchStone
  Please Login
Login Sign Up
 Homepage  Problem Set  Examinations  Submissions  Discussions  Statistics
  • Home
  • Problem Set
  • P3485
  • Problem
  • P3485数据
    Limits : Time Limit : 30000 MS   Memory Limit : 165536 KB
    Description

    Mr_H 出了一道信息学竞赛题,就是给 n 个数排序。输入格式是这样的:
    试题有若干组数据。每组数据的第一个是一个整数 n,表示总共有 n 个数待排序;接下来 n 个整数,分别表示这n 个待排序的数。
    例如:3 4 2 –1 4 1 2 3 4,就表示有两组数据。第一组有3 个数(4,2,-1),第二组有4个数(1,2,3,4)。可是现在Mr_H 做的输入数据出了一些问题。
    例如:2 1 9 3 2 按理说第一组数据有2 个数(1,9),第二组数据有3 个数,可是“3”后面并没有出现三个数,只出现了一个数“2”而已!
    现在 Mr_H 需要对数据进行修改,改动中“一步”的含义是对文件中的某一个数+1 或-1,写个
    程序,计算最少需要多少步才能将数据改得合法。

    Input Format

    第一行一个整数m,表示Mr_H 做的输入数据包含的整数个数。第二行包含m 个整数a[i],每个整数的绝对值不超过10000。

    Output Format

    一个整数,表示把数据修改为合法的情况下,最少需要多少步。

    Sample Input

    【样例输入1】
    4
    1 9 3 2

    【样例输入2】
    10
    4 4 3 5 0 -4 -2 -1 3 5

    Sample Output

    【样例输出1】
    2

    【样例输出2】
    3

    Hint

    【数据范围】
    对于 20%的数据,m<=10, |a[i]|<=5;
    对于60%的数据,m<=5000, |a[i]|<=10000
    对于100%的数据,m<=100000, |a[i]|<=10000


    Source  by YZ