#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m, q;
cin >> n >> m >> q;
set<int> bt;
for (int i = 0; i < m; i++) {
int b;
cin >> b;
bt.insert(b);
bt.insert(b + n);
}
while (q--) {
int x, y;
cin >> x >> y;
if (x > y) swap(x, y);
int ans = min(y - x, 2 * n - (y - x));
auto it = bt.lower_bound(x);
auto prev_it = it;
if (it == bt.begin()) {
prev_it = bt.end();
prev_it--;
} else {
prev_it--;
}
vector<int> candidates = {*it, *prev_it};
for (int cand : candidates) {
int b = cand;
if (b >= n)
b -= n;
int cost = abs(x - b) + 1 + abs(y - (b + n));
ans = min(ans, cost);
}
cout << ans << "\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |