[VTT Q4 Contest 01] Bài 2: Đếm số [CNTNUM]

Xem dạng PDF

Gửi bài giải


Điểm: 2,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: CNTNUM.INP
Output: CNTNUM.OUT

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho dãy gồm ~n~ số nguyên ~a_1, a_2, \ldots, a_n~. Có ~q~ truy vấn, mỗi truy vấn cho một vị trí ~k~. Với mỗi truy vấn, hãy cho biết:

  • có bao nhiêu vị trí ~x < k~ mà ~a_x = a_k~;
  • có bao nhiêu vị trí ~y > k~ mà ~a_y = a_k~.

Dữ liệu

  • Dòng đầu tiên ghi hai số nguyên dương ~n~ và ~q~ (~1 \le n, q \le 10^6~): độ dài dãy và số truy vấn.
  • Dòng thứ hai ghi ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ (~0 \le a_i \le 10^9~).
  • ~q~ dòng tiếp theo, dòng thứ ~i~ ghi một số nguyên dương ~k_i~ (~1 \le k_i \le n~) là truy vấn thứ ~i~.

Kết quả

  • Gồm ~q~ dòng; dòng thứ ~i~ ghi hai số nguyên: số vị trí ~x~ và số vị trí ~y~ tương ứng với truy vấn thứ ~i~.

Ví dụ

CNTNUM.INP

10 4
2 1 3 2 2 5 4 2 3 5
1
7
4
10

CNTNUM.OUT

0 3
0 0
1 2
1 0

Giải thích: Với ~k = 1~, giá trị là 2; không có vị trí nào trước nó, còn sau nó có ba vị trí chứa 2 (vị trí 4, 5, 8). Với ~k = 7~, giá trị 4 chỉ xuất hiện một lần nên cả hai số đều là 0. Các truy vấn còn lại tính tương tự.

Giới hạn

  • Subtask 1 (30% số điểm): ~n, q \le 1000~.
  • Subtask 2 (30% số điểm): ~a_i \le 10^6~.
  • Subtask 3 (40% số điểm): không có ràng buộc thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.