2 条题解
-
1
#include <iostream> #include <vector> #include <cmath> using namespace std; long long gcd(long long a, long long b) { a = abs(a); b = abs(b); while (b != 0) { long long temp = a % b; a = b; b = temp; } return a; } int main() { int n, Q; cin >> n >> Q; vector<long long> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } if (n == 1) { for (int i = 1; i <= Q; ++i) { cout << a[0] + i << endl; } } else { long long a0 = a[0]; long long g = 0; for (int j = 1; j < n; ++j) { long long d = a[j] - a0; g = gcd(g, d); } for (int i = 1; i <= Q; ++i) { long long x = a0 + i; cout << gcd(x, g) << endl; } } return 0; }
信息
- ID
- 3339
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 57
- 已通过
- 13
- 上传者