在一个非降序列中,查找与蒜头君的给定值最接近的元素。
输入格式
第一行包含一个整数 nn,为非降序列长度。1 \le n \le 1000001≤n≤100000。
第二行包含 nn 个整数,为非降序列各元素。所有元素的大小均在 0\sim1,000,000,0000∼1,000,000,000 之间。
第三行包含一个整数 mm,为要询问的给定值个数。1 \le m \le 100001≤m≤10000。
接下来 mm 行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在 0\sim 1,000,000,0000∼1,000,000,000 之间。
输出格式
mm 行,每行一个整数,为最接近相应给定值的元素值,保持输入顺序。若有多个值满足条件,输出最小的一个。
输出时每行末尾的多余空格,不影响答案正确性
样例输入 复制
3
2 5 8
2
10
5
样例输出 复制
8
5
思路:二分查找,确定区间后,折半折半再折半
import java.util.*;
/**
* Created on 11:35 18/02/2020
* Description:
*
* @author Weleness
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();