2 条题解

  • 1
    @ 2025-11-1 18:44:51
    
    #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;
    }
    
    
    • 1
      @ 2025-11-1 18:04:05
      #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;
      }
      
      
      • 1

      信息

      ID
      3339
      时间
      1000ms
      内存
      256MiB
      难度
      7
      标签
      递交数
      57
      已通过
      13
      上传者