这根本就是数学题嘛, 先找出最小的差,然后用公式算出项数。
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = 1e6+10;
int n;
int arr[MAXN];
int main(){
scanf("%d", &n);
for(int i=0; i<n; i++){
scanf("%d", &arr[i]);
}
sort(arr, arr+n);
int MIN = 1e9+10;
for(int i=0; i<n-1; i++){
int t = arr[i+1] - arr[i];
if(t < MIN){
MIN = t;
}
}
if(MIN == 0){
printf("%d", n);
return 0;
}
int num = (arr[n-1]-arr[0])/MIN + 1;
printf("%d", num);
return 0;
}