Advertisement
Georgiy1108

Untitled

Jun 19th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     ios::sync_with_stdio(0);
  8.     cin.tie(0);
  9.     int n;
  10.     cin >> n;
  11.     vector<int> a(n);
  12.     for(int &i : a)
  13.         cin >> i;
  14.     int len = sqrt(n + .0) + 1;
  15.     vector<int> dec(len, -1);
  16.     for(int i = 0; i < n; i++)
  17.         if(dec[i / len] == -1)
  18.             dec[i / len] = a[i];
  19.         else
  20.             dec[i / len] = __gcd(dec[i / len], a[i]);
  21. //  cout << "dd";
  22.     int m;
  23.     cin >> m;
  24.     while(m--)
  25.     {
  26.         int l, r;
  27.         cin >> l >> r;
  28.         l--;
  29.         r--;
  30.         int ans = a[l];
  31.         for(int i = l; i <= r;)
  32.         {
  33.             if(i % len == 0 && i + len < r)
  34.             {
  35.                 ans = __gcd(ans, dec[i / len]);
  36.                 i += len;
  37.             }
  38.             else
  39.             {
  40.                 ans = __gcd(ans, a[i]);
  41.                 i++;
  42.             }
  43.         }
  44.         cout << ans << " ";
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement