fork download
  1. #include<stdio.h>
  2. long long int gcd(long long int n1,long long int n2);
  3. int main()
  4. {long long int n,i,g,sum;
  5. scanf("%lld",&n);
  6. long long int a[1000000];
  7. for(i=0;i<n;i++)
  8. {scanf("%lld",&a[i]);}
  9. for(i=0;i<n-1;i++)
  10. {g=a[1]-a[0];
  11. g=gcd(g,a[i+1]-a[i]);}
  12. sum=0;
  13. for(i=0;i<n-1;i++)
  14. {sum += ((a[i+1]-a[i])/g) -1;
  15. }
  16. printf("%lld\n",sum);
  17. return 0;
  18. }
  19. long long int gcd(long long int n1,long long int n2)
  20. {long long int i,gc=0;
  21. for(i=1;i<=n1||i<=n2;i++)
  22. {if(n1%i==0&&n2%i==0)
  23. gc=i;}
  24. return gc;
  25. }
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
Success #stdin #stdout 0s 9752KB
stdin
4
2
6
12
18
stdout
5