Nhỏ lớn lớn nhỏ

View as PDF

Time limit: 3.0s , Memory limit: 256M , Points: 1000

Cho mảng số nguyên a độ dài nq truy vấn, mỗi truy vấn bao gồm một số nguyên x, yêu cầu:

  • Tìm phần tử nhỏ nhất thỏa mãn lớn hơn hoặc bằng x.
  • Tìm phần tử nhỏ nhất thỏa mãn lớn hơn x.
  • Tìm phần tử lớn nhất thỏa mãn nhỏ hơn hoặc bằng x.
  • Tìm phần tử lớn nhất thỏa mãn nhỏ hơn x.

Input

  • Dòng đầu tiên chứa hai số nguyên nq (1 \le n,q \le 5.10^5).
  • Dòng thứ hai chứa n số nguyên mảng a (1 \le a_i \le 10^9).
  • q dòng tiếp theo, mỗi dòng chứa số nguyên x (1 \le x \le 10^9) mô tả truy vấn.

Output

  • Với mỗi truy vấn, in ra trên một dòng lần lượt là giá trị phần tử nhỏ nhất thỏa mãn lớn hơn hoặc bằng x, phần tử nhỏ nhất thỏa mãn lớn hơn x, phần tử lớn nhất thỏa mãn nhỏ hơn hoặc bằng x và phần tử lớn nhất thỏa mãn nhỏ hơn x. Nếu không có phần tử thỏa mãn, in ra "None".

Samples

Sample Input 1
6 6
1 2 3 4 5 6
1
2
3
4
5
6
Sample Output 1
1 2 1 None 
2 3 2 1 
3 4 3 2 
4 5 4 3 
5 6 5 4 
6 None 6 5
Sample Input 2
3 1
5 4 10
8
Sample Output 2
10 10 5 5

Scoring

  • Subtask 1 - 50 điểm: n,q \le 5000
  • Subtask 2 - 50 điểm: Không có ràng buộc gì thêm

Comments