Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập setlonnhatkhongvuotx

Set

Dễ Heap, Set, Map, ...Tìm kiếm nhị phân

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 33% Tỉ lệ AC
  • 1 Số AC

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

Chưa có bình luận nào.