题目链接: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; }
版权声明:此代码归属博主, 请务侵权!