#402. 查找最接近的元素

查找最接近的元素

在一个非降序列中,查找与小明的给定值最接近的元素。

初始化代码中已经完成了一部分基本代码,请完成剩余部分即可

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int num[100005];
int main() {
    freopen("closest.in", "r", stdin);
    freopen("closest.out", "w", stdout);
    int n, m, x;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> num[i];
    }
    cin >> m;
    while (m--) {
        cin >> x;
        
    }
    return 0;
}

输入格式

第一行包含一个整数 nn,为非降序列长度。1n1000001≤n≤100000

第二行包含 nn 个整数,为非降序列各元素。所有元素的大小均在 01,000,000,0000∼1,000,000,000 之间,相邻两数之间以一个空格分隔。

第三行包含一个整数 mm,为要询问的给定值个数。1m100001≤m≤10000

接下来 mm 行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在 01,000,000,0000∼1,000,000,000 之间。

输出格式

mm 行,每行一个整数,为最接近相应给定值的元素值,保持输入顺序。若有多个值满足条件,输出最小的一个。

输出时每行末尾的多余空格,不影响答案正确性

要求使用「文件输入输出」的方式解题,输入文件为 closest.in,输出文件为 closest.out

样例输入

3
2 5 8
2
10
5

样例输出

8
5