1 | #include <bits/stdc++.h> |
2 | |
3 | using namespace std; |
4 | |
5 | int main() { |
6 | std::ios_base::sync_with_stdio(false); |
7 | cin.tie(0); |
8 | cout.tie(0); |
9 | int n, k; |
10 | cin >> n >> k; |
11 | int a[n]; |
12 | for (int i = 0; i < n; ++i) { |
13 | cin >> a[i]; |
14 | } |
15 | |
16 | for (int i = 0; i < k; ++i) { |
17 | int x; |
18 | cin >> x; |
19 | |
20 | int L = 0, R = n - 1, j = n; |
21 | |
22 | |
23 | while (L <= R) { |
24 | int mid = (L + R) / 2; |
25 | if (x <= a[mid]) { |
26 | j = mid; |
27 | R = mid - 1; |
28 | } else { |
29 | L = mid + 1; |
30 | } |
31 | } |
32 | |
33 | if (j == n) { |
34 | cout << a[n - 1] << endl; |
35 | } else if (j == 0) { |
36 | cout << a[0] << endl; |
37 | } else if (x - a[j - 1] <= a[j] - x) { |
38 | cout << a[j - 1] << endl; |
39 | } else { |
40 | cout << a[j] << endl; |
41 | } |
42 | } |
43 | |
44 | return 0; |
45 | } |
46 | |
47 | |
48 | 5 |
49 | 0 1 2 3 4 |
50 | 1 3 5 8 9 |
51 | 5 |
52 | 2 |
53 | 7 |
54 | 9 |
55 | 100 |
56 | 1 |
57 | a[j - 1] < x <= a[j] |
58 | x <= a[0] |
59 | |
60 | a[0] < 2 <= a[1] |
61 | a[2] < 7 <= a[3] |
62 | a[3] < 9 <= a[4] |
63 | */ |
64 | |
65 | |
66 | |