aboutsummaryrefslogtreecommitdiff
path: root/works/life/algorithm-contest-3/code/4.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-12 15:55:21 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-12 15:55:21 +0800
commit10eb95869601e145b1d8bc909424777c25752d51 (patch)
tree49449a4076ded9bd937a51679318edbe2a532cae /works/life/algorithm-contest-3/code/4.cpp
parent29ba3e88b1a7425fe00af0005b8a8228103aa21c (diff)
parentf8c10dd1fc55e60f35286475356e48c4f642eb63 (diff)
downloadcrupest-10eb95869601e145b1d8bc909424777c25752d51.tar.gz
crupest-10eb95869601e145b1d8bc909424777c25752d51.tar.bz2
crupest-10eb95869601e145b1d8bc909424777c25752d51.zip
import(life): IMPORT crupest/life COMPLETE.
Diffstat (limited to 'works/life/algorithm-contest-3/code/4.cpp')
-rw-r--r--works/life/algorithm-contest-3/code/4.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/works/life/algorithm-contest-3/code/4.cpp b/works/life/algorithm-contest-3/code/4.cpp
new file mode 100644
index 0000000..aebd735
--- /dev/null
+++ b/works/life/algorithm-contest-3/code/4.cpp
@@ -0,0 +1,34 @@
+#include <algorithm>
+#include <iostream>
+#include <numeric>
+
+int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
+
+int N;
+int A[100010];
+
+int main() {
+ std::ios_base::sync_with_stdio(false);
+ std::cin.tie(nullptr);
+
+ std::cin >> N;
+
+ for (int i = 0; i < N; i++) {
+ std::cin >> A[i];
+ }
+
+ std::sort(A, A + N);
+
+ int g = A[1] - A[0];
+ for (int i = 1; i < N - 1; i++) {
+ g = gcd(g, A[i + 1] - A[i]);
+ }
+
+ if (g == 0) {
+ std::cout << N;
+ } else {
+ std::cout << (A[N - 1] - A[0]) / g + 1;
+ }
+
+ return 0;
+}