2 条题解
-
1
#include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, Q; cin >> n >> Q; vector<long long> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } // 计算差分数组的gcd long long g = 0; for (int i = 1; i < n; i++) { g = gcd(g, abs(a[i] - a[0])); } // 处理每个询问 for (int i = 1; i <= Q; i++) { long long result = gcd(a[0] + i, g); cout << result << "\n"; } return 0; }
信息
- ID
- 3339
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 57
- 已通过
- 13
- 上传者