吃饭啦
题号:NC21699
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

饿啦,该吃饭啦!一条街上好多家店呀,都没吃过,作为吃货,我一定要每家都吃一遍。就近原则,就挑一家最近的吃吧!

这条街长度为n,上面有m家店。给定q个吃货所在的位置,请告诉每个吃货离他最近的店有多远。

输入描述:

第1行含有两个正整数n和m,含义如题目中所述。

第2行含有m个以空格分割的正整数ai,表示每家店所在的坐标。

第3行含有一个正整数q,表示接下来有q个吃货所在的坐标。

第4行至第q+3行,每行内有一个正整数bi表示第i个吃货所在的坐标。

对于输入的数据,约定:

① 1≤n≤109,1≤m≤min(n,103),1≤q≤105

② 对于任意的1≤i≤m,有1≤ai≤n。

③ 不会有多家店在同一坐标上,即当1≤i,j≤n且i≠j时,有ai≠aj

④ 对于任意的1≤i≤q,有1≤bi≤n。

输出描述:

对于输入的每一个吃货所在的位置,请输出一行,该行内仅有一整数,表示他离与他最近的店的距离。
示例1

输入

复制
3 1
1
3
1
2
3

输出

复制
0
1
2