Cho N số nguyên dương và một mục tiêu T. M worker chia phần để tìm chỉ-số đầu tiên (nhỏ nhất) i mà a[i] == T. Mỗi worker quét shard riêng, nếu thấy thì gửi chỉ-số qua channel hit. Main dùng select chờ một kết quả; sau khi nhận ít nhất một hit (hoặc tất cả worker xong mà không thấy), đóng channel done để các worker còn lại dừng quét. Vì có thể nhiều worker tìm thấy ở các shard khác nhau, main thu thập tất cả hit đã gửi cho đến khi mọi worker thoát, rồi in chỉ-số nhỏ nhất (1-based). Nếu không tìm thấy, in -1.
Dòng 1: N M T (1 ≤ M ≤ 16, 1 ≤ N ≤ 10^5, |T| ≤ 10^9). Dòng 2: N số nguyên.
N ≤ 10^5; M ≤ 16
Một số nguyên: chỉ-số 1-based nhỏ nhất chứa T, hoặc -1.
Ví dụ:
Đầu vào:
8 3 7
1 2 7 3 7 4 7 5
Đầu ra:
5
Giải thích:
Đang tải editor...