more code
This commit is contained in:
parent
7aacde99f4
commit
742bf851a9
149 changed files with 7065 additions and 0 deletions
29
codeforces/991/buf
Normal file
29
codeforces/991/buf
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
void solve() {
|
||||
stGCD.clear();
|
||||
int n, q; cin >> n >> q;
|
||||
vector<int> a(n);
|
||||
for (int &x : a) cin >> x;
|
||||
|
||||
vector<int> b;
|
||||
for (int i = 1; i < n; i++)
|
||||
b.push_back(abs(a[i - 1] - a[i]));
|
||||
|
||||
stGCD.resize(LOGN, vector<int>(b.size(), 1));
|
||||
for (int i = 0; i < b.size(); i++)
|
||||
stGCD[0][i] = b[i];
|
||||
for (int i = 1; i < LOGN; i++)
|
||||
for (int j = 0; j + (1 << (i - 1)) < b.size(); j++)
|
||||
stGCD[i][j] = __gcd(stGCD[i - 1][j], stGCD[i - 1][j + (1 << (i - 1))]);
|
||||
|
||||
while (q--) {
|
||||
int l, r; cin >> l >> r;
|
||||
if (l == r) {
|
||||
cout << 0 << " ";
|
||||
continue;
|
||||
}
|
||||
l--; r -= 2;
|
||||
int gcd = get_gcd(l, r);
|
||||
cout << gcd << " ";
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue