TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P3485
  • 题目
  • P3485数据
    限制 : 时间限制 : 30000 MS   空间限制 : 165536 KB
    问题描述

    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,写个
    程序,计算最少需要多少步才能将数据改得合法。

    输入格式

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

    输出格式

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

    样例输入

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

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

    样例输出

    【样例输出1】
    2

    【样例输出2】
    3

    提示

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


    来源  by YZ