题目链接: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; }