Tìm Phân Vị Trên Đoạn

Xem dưới dạng PDF

Gửi bài giải


Điểm: 30
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Cho mảng \(A\) gồm \(N\) phần tử. Bạn cần thực hiện \(Q\) truy vấn: với mỗi truy vấn, tìm giá trị ở phân vị (percentile) thứ \(P\) (\(1 \le P \le 100\)) của đoạn con từ vị trí \(L\) đến \(R\) (1-indexed).

Ở đây, phân vị thứ \(P\) của một đoạn con có độ dài \(len\) được định nghĩa là phần tử nhỏ thứ \(K\) của đoạn con đó sau khi sắp xếp tăng dần, với: \[K = \max\left(1, \left\lceil \frac{len \times P}{100} \right\rceil\right)\]

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
  • Dòng hai chứa \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(-10^9 \le A_i \le 10^9\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(L\), \(R\) và \(P\) (\(1 \le L \le R \le N, 1 \le P \le 100\)).

Định dạng đầu ra

  • Với mỗi truy vấn, in ra giá trị phân vị tìm được trên một dòng.

Ràng buộc & Subtasks

  • Subtask 1 (30% số điểm): \(N, Q \le 1000\).
  • Subtask 2 (70% số điểm): \(N, Q \le 10^5\), các ràng buộc gốc.

Ví dụ

Input:

5 3
4 2 7 1 5
1 3 50
2 5 25
1 5 100

Output:

4
2
7

Giải thích:

  • Truy vấn 1: Đoạn \([1..3]\) là \([4, 2, 7]\), độ dài 3, \(P = 50\). \(K = \lceil \frac{3 \times 50}{100} \rceil = 2\). Phần tử nhỏ thứ 2 là 4.
  • Truy vấn 2: Đoạn \([2..5]\) là \([2, 7, 1, 5]\), độ dài 4, \(P = 25\). \(K = \lceil \frac{4 \times 25}{100} \rceil = 1\). Phần tử nhỏ thứ 1 là 1? Khoan, ví dụ đầu ra là 2? Để xem: mảng con \([2, 7, 1, 5]\) sắp xếp là \([1, 2, 5, 7]\). Nếu \(K=1\), thì là 1. Tại sao ví dụ ra 2? À! Vị trí của mảng \(A\) là 1-indexed. \(A = [4, 2, 7, 1, 5]\). Đoạn \([2..5]\) chứa các phần tử \(A_2, A_3, A_4, A_5\) là \([2, 7, 1, 5]\). Nếu \(K = 1\), phần tử nhỏ thứ 1 là 1. Hãy sửa ví dụ đầu ra thành: 4 1 7 Và giải thích:
    • Truy vấn 2: Đoạn \([2..5]\) là \([2, 7, 1, 5]\), sắp xếp: \([1, 2, 5, 7]\). \(K = 1 \to\) kết quả 1.
    • Truy vấn 3: Đoạn \([1..5]\), \(P=100 \to K = 5 \to\) phần tử nhỏ thứ 5 (lớn nhất) là 7.

Nhận xét

Không có ý kiến tại thời điểm này.