#1662. TRUY VẤN SỐ LƯỢNG PHẦN TỬ (INTDRINK)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một dãy số nguyên A gồm n phần tử A_1, A_2, \dots, A_n . Bạn cần thực hiện q truy vấn, mỗi truy vấn cung cấp một số nguyên m_j .

Nhiệm vụ của bạn là đối với mỗi truy vấn, hãy xác định số lượng chỉ số i ( 1 \le i \le n ) sao cho A_i \le m_j .

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên n ( 1 \le n \le 10^5 ).
  • Dòng thứ hai chứa n số nguyên A_1, A_2, \dots, A_n ( 1 \le A_i \le 10^5 ).
  • Dòng thứ ba chứa số nguyên q ( 1 \le q \le 10^5 ).
  • q dòng tiếp theo, mỗi dòng chứa một số nguyên m_j ( 1 \le m_j \le 10^9 ) đại diện cho một truy vấn.

Kết quả:

  • Gồm q dòng, mỗi dòng là một số nguyên duy nhất là câu trả lời cho truy vấn tương ứng.

Ví dụ:

Dữ liệu:

5
3 10 8 6 11
4
1
10
3
11

Kết quả:

0
4
1
5

Giải thích:

  • Với m = 1 : Không có phần tử nào trong A thỏa mãn A_i \le 1 .
  • Với m = 10 : Có 4 phần tử thỏa mãn là \{3, 10, 8, 6\} .
  • Với m = 3 : Có 1 phần tử thỏa mãn là \{3\} .
  • Với m = 11 : Tất cả 5 phần tử đều thỏa mãn.

Dữ liệu:

4
1 2 2 4
2
2
5

Kết quả:

3
4

Giới hạn:

  • Subtask #1 (20% số điểm): n \le 1000 q \le 1000 .
  • Subtask #2 (25% số điểm): Dãy số A đã được sắp xếp tăng dần ( A_1 \le A_2 \le \dots \le A_n ).
  • Subtask #3 (25% số điểm): m_j \le 10^5 với mọi 1 \le j \le q .
  • Subtask #4 (30% số điểm): Không có ràng buộc bổ sung.