Cho một mảng \(a\) gồm \(n\) phần tử \(a_1, a_2, \dots, a_n\).
Mảng bộ ba được định nghĩa gồm các \(\min(a_i, a_j, a_k)\) với tất cả các bộ ba \((i, j, k)\) thỏa mãn \(1 \le i < j < k \le n\), trong đó \(\min(a_i, a_j, a_k)\) là giá trị nhỏ nhất của 3 phần tử \(a_i, a_j, a_k\).
Cho \(q\) truy vấn thuộc loại sau: "Cho số nguyên \(k\), trả lại phần tử nhỏ thứ \(k\) trong mảng bộ ba".
Input
Vào từ tệp văn bản trip.inp:
- Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\) \((3 \le n \le 3 \times 10^5; 1 \le q \le 3 \times 10^5)\) tương ứng là số phần tử mảng \(a\) và số truy vấn;
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) \((-10^9 \le a_i \le 10^9)\);
- Mỗi dòng trong \(q\) dòng tiếp theo chứa một số nguyên \(k\) \((1 \le k \le \frac{n(n-1)(n-2)}{6})\) mô tả một truy vấn.
Output
Ghi ra tệp văn bản trip.out. Với mỗi truy vấn, in ra trên một dòng phần tử nhỏ thứ \(k\) trong mảng bộ ba.
Example
Test 1
Input
4 4
2 4 2 1
1
2
3
4
Output
1
1
1
2
Note
Trong ví dụ trên, các phần tử của mảng bộ ba là \(\min(1, 2, 3) = 1\), \(\min(1, 2, 4) = 1\), \(\min(1, 3, 4) = 1\), \(\min(2, 3, 4) = 2\) và sắp xếp tăng dần là \(1, 1, 1, 2\). Vì vậy phần tử nhỏ thứ \(1, 2, 3, 4\) lần lượt là \(1, 1, 1, 2\).
Scoring
- 40% số test: \(3 \le n \le 10^2\);
- 40% số test: \(3 \le n \le 10^3\) và \(1 \le q \le 10^4\);
- 20% số test: Không có thêm ràng buộc nào.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.