题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82659#problem/C

解题思路:先对输入的数据放入a数组里面存储,再将a数组用sort进行排序,从第二个数开始判断,是否比第一个大,如果大,则跳到下一个数继续判断,如果小,则将此数++,然后sum++,依次循环下去

程序代码:

#include <iostream>
#include <algorithm>
using  namespace std;
int a[3005];
int main()
{
    int n;
    while(cin>>n)
      {

        for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    int sum=0;

        for(int i=1;i<n;i++)
        while(a[i]<=a[i-1])
    {
        sum++;
        a[i]++;
    }
    cout<<sum<<endl;
      }
      return 0;
}