Cho một dãy số \(a\) gồm \(n\) số nguyên dương phân biệt. Với mỗi giá trị \(x\) cho trước, hãy tìm phần tử có giá trị lớn nhất trong dãy \(a\) mà nhỏ hơn hoặc bằng \(x\).
Input
- Dòng đầu tiên chứa một số nguyên dương \(n\) (\(n \le 10^5\)).
- Dòng thứ hai chứa \(n\) số nguyên dương phân biệt \(a_i\) (\(a_i \le 10^{18}\)).
- Dòng thứ ba chứa một số nguyên dương \(T\) (\(T \le 10^5\)).
- \(T\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(x\) (\(x \le 10^{18}\)).
Output
Đối với mỗi truy vấn \(x\), in ra trên một dòng riêng biệt giá trị của phần tử lớn nhất trong dãy \(a\) mà nhỏ hơn hoặc bằng \(x\). Nếu không có phần tử nào thỏa mãn, in ra \(-1\).
Sample Input 1
10
1 11 3 4 7 6 5 8 9 10
2
2
12
Sample Output 1
1
11
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.