AcWing 1246. 等差数列
原题链接
中等
作者:
英特耐雄纳尔
,
2021-04-17 20:15:15
,
所有人可见
,
阅读 294
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100010;
LL arr[N];
LL cha[N];
int n;
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%lld",&arr[i]);
}
sort(arr,arr+n);
bool flag=false;
for(int i=1;i<n;i++)
{
cha[i]=arr[i]-arr[0];
if(cha[i]==0) flag=true;
}
if(flag==true)
{
cout<<n;return 0;
}
int d=N;
int minn=0;
for(int i=1;i<n-1;i++)
{
minn=__gcd(cha[i],cha[i+1]);
if(minn<d) d=minn;
}
int ans=(arr[n-1]-arr[0])/d+1;
cout<<ans;
return 0;
}
兄弟有时间填个邀请码hhhhhhhhh(都可以得AC币,邀请码在学生认证那填) 我的邀请码是:GUDFH