Cho một dãy số \(a_n\) gồm \(n\) số nguyên dương.
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_n\) mà nhỏ hơn hoặc bằng \(x\).
Input
Dữ liệu vào được cung cấp từ bàn phím theo định dạng sau:
- Dòng đầu tiên chứa một số nguyên dương \(n\) (\(n \le 10^5\)), biểu thị số lượng phần tử trong dãy.
- Dòng thứ hai chứa \(n\) số nguyên dương phân biệt \(a_i\) (\(a_i \le 10^{18}\)), là các phần tử của dãy. Các số này cách nhau bởi dấu cách.
- Dòng thứ ba chứa một số nguyên dương \(T\) (\(T \le 10^5\)), biểu thị số lượng truy vấn.
- \(T\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(x\), là giá trị ngưỡng.
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_n\) mà nhỏ hơn hoặc bằng \(x\).
- Nếu không có phần tử nào trong dãy \(a_n\) thỏa mãn điều kiện (tức là tất cả các phần tử đều lớn hơn \(x\)), in ra \(-1\).
Example
Test 1
Input
10
1 11 3 4 7 6 5 8 9 10
2
2
12
Output
1
11
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.