#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin(), x.end()
#define mod 1000000007
#define sp << " " <<
#define endl << '\n'
int N, K, Q;
int round(int a){
return min(a, N * 2 - a);
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N >> K >> Q;
set<int> friends;
for (int i = 0; i < K; i++){
int k;
cin >> k;
friends.insert(k);
friends.insert(k + N);
}
while (Q--){
int a, b;
cin >> a >> b;
int l, r;
set<int>::iterator k = friends.lower_bound(a), k2;
if (k == friends.begin()){
k2 = prev(friends.end());
}else{
k2 = prev(k);
}
if (k == friends.end()){
k = friends.begin();
}
l = round(abs(a - *k)) + round(abs(b - (*k + N) % (2 * N)));
r = round(abs(a - *k2)) + round(abs(b - (*k2 + N) % (2 * N)));
cout << min(round(abs(b - a)), min(l, r) + 1) endl;
}
}
# | 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... |