#include <bits/stdc++.h>
#include <iostream>
using namespace std;
using ll = long long int;
int main() {
ll n,m,q;
cin>>n>>m>>q;
ll bestie=0;
ll b;
map<ll,ll>p;
map<ll,ll>s;
vector<int>v;
for(ll so=0;so<=2*n;so++){p[so]=-1;s[so]=0;}
for(ll so=0;so<m;so++){
cin>>bestie;
b=(bestie+n)%(2*n);
v.push_back(b);
v.push_back(bestie);
p[bestie]=b;
p[b]=bestie;
s[bestie]=1;
s[b]=1;
}
ll x,y;
ll ans=0;
while(q--){
cin>>x>>y;
ans=min(abs(x-y),(2*n)-abs(x-y));
for(int so=0;so<v.size();so++){
ans=min(ans,min((2*n)-abs(x-v[so]),abs(x-v[so]))+1+min((2*n)-abs(y-p[v[so]]),abs(y-p[v[so]])));
}
cout<<ans<<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... |