Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- ios::sync_with_stdio(0);
- cin.tie(0);
- int n;
- cin >> n;
- vector<int> a(n);
- for(int &i : a)
- cin >> i;
- int len = sqrt(n + .0) + 1;
- vector<int> dec(len, -1);
- for(int i = 0; i < n; i++)
- if(dec[i / len] == -1)
- dec[i / len] = a[i];
- else
- dec[i / len] = __gcd(dec[i / len], a[i]);
- // cout << "dd";
- int m;
- cin >> m;
- while(m--)
- {
- int l, r;
- cin >> l >> r;
- l--;
- r--;
- int ans = a[l];
- for(int i = l; i <= r;)
- {
- if(i % len == 0 && i + len < r)
- {
- ans = __gcd(ans, dec[i / len]);
- i += len;
- }
- else
- {
- ans = __gcd(ans, a[i]);
- i++;
- }
- }
- cout << ans << " ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement