*CF1458A Row gcd


 1 #include
 2 #define ll long long
 3 using namespace std;
 4 
 5 const int N = 2e5 + 10;
 6 ll a[N];
 7 
 8 int main(){
 9     ios_base::sync_with_stdio(0);
10     cin.tie(0);cout.tie(0);
11     
12     int n, m; cin >> n >> m;
13     for(int i = 1 ; i <= n ; i++){
14         cin >> a[i];
15     }
16     sort(a + 1, a + n + 1);
17     ll base = a[2] - a[1];
18     for(int i = 3 ; i <= n ; i++){
19         base = __gcd(a[i] - a[i - 1], base);
20     }
21     
22     for(int i = 1 ; i <= m ; i++){
23         ll x; cin >> x;
24         if(n == 1){
25             cout << a[1] + x << endl;
26         }else{
27             cout << __gcd(base, a[1] + x) << " ";
28         }
29     }
30     cout << endl;
31     
32     return 0;
33 }

奇妙的结论!!要记住哦