Cho mảng N số nguyên. Chia mảng thành P=4 block bằng nhau. Mỗi block do một Callable<int[]> sort tăng dần và trả về. Dùng invokeAll lấy 4 mảng đã sort theo thứ tự (deterministic). Sau đó MERGE 4 mảng đã sort bằng PriorityQueue<int[]>{value, blockIdx, posInBlock} để thu được mảng sort cuối. In mảng kết quả cách nhau bởi dấu cách.
Dòng 1: N (4 ≤ N ≤ 10^4). Dòng 2: N số nguyên |a_i| ≤ 10^6.
4 ≤ N ≤ 10^4
Một dòng N số đã sort tăng dần.
Ví dụ:
Đầu vào:
8
5 1 4 2 8 3 7 6
Đầu ra:
1 2 3 4 5 6 7 8
Giải thích:
Đang tải editor...