题意分析
给出n个数,每次操作可以将一个数+1,要使这n个数都不同,至少要加多少次。
sort下挨个遍历,如果当前数小于等于前一个数,则将该数++。
代码总览
#include<bits/stdc++.h>
using namespace std;
const int nmax = 3005;
int num[nmax];
int main(){
int n,ans = 0;
scanf("%d",&n);
for(int i = 0;i<n;++i) scanf("%d",&num[i]);
sort(num,num+n);
for(int i = 1;i<n;++i){
while(num[i] <= num[i-1]){
num[i]++;
ans++;
}
}
printf("%d\n",ans);
return 0;
}