USACO 2023 US Open Contest, Bronze, Rotate and Shift

Xem PDF

Điểm: 1000 (p) Thời gian: 4.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Note: giới hạn thời gian cho bài này là 4s, gấp đôi so với thông thường

Để chào mừng dịp lập xuân, \(N\) \((1 \le N \le 2 \times 10^5)\) chú bò của nông dân John đã sáng tạo ra điệu nhảy chào mừng mới, chúng đứng thành một vòng tròn và thay đổi thứ tự của mình theo một cách có thể đoán trước.

Cụ thể hơn, có \(N\) vị trí xung quanh vòng tròn đánh số từ \(0\) đến \(N - 1\), vị trí \(0\) ở bên phải vị trí \(N - 1\). Mỗi vị trí có \(1\) chú bò. Mỗi chú bò cũng được đánh số lần lượt từ \(0\) đến \(N - 1\). Ban đầu, chú bò \(i\) đứng ở vị trí \(i\). Bạn được cho một dãy \(K\) vị trí \(0 = A_1 < A_2 < \ldots < A_K < N - 1\) được gọi là "hoạt động", nghĩa là những chú bò ở vị trí này sẽ di chuyển ở lượt tiếp theo \((1 \le K \le N)\).

Mỗi phút trong điệu nhảy, hai sự việc xảy ra. Đầu tiên, các chú bò trong các vị trí hoạt động sẽ xoay vòng: chú bò ở vị trí \(A_1\) sẽ di chuyển đến vị trí \(A_2\), chú bò ở vị trí \(A_2\) sẽ di chuyển đến vị trí \(A_3\), và cứ tiếp tục như vậy, chú bò ở vị trí \(A_K\) sẽ di chuyển đến vị trí \(A_1\). \(K\) bước di chuyển này sẽ được thực hiện đồng thời, cho nên sau khi hoàn thành việc xoay vòng, mỗi vị trí vẫn chứa đúng \(1\) chú bò. Sau đó, các vị trí này sẽ tự động dịch lên \(1\) đơn vị: \(A_1\) sẽ thành \(A_1 + 1\), \(A_2\) sẽ thành \(A_2 + 1\), và cứ như thế cho đến \(A_N\) (nếu tồn tại \(A_i = N - 1\) thì sau sự việc này, \(A_i\) sẽ quay trở về \(0\)).

Tính toán thứ tự của các chú bò sau \(T\) phút \((1 \le T \le 10^9)\) của điệu nhảy.

Input

  • Dòng đầu gồm \(3\) số nguyên \(N\), \(K\)\(T\).
  • Dòng thứ hai gồm \(K\) số nguyên \(A_1, A_2, \ldots, A_K\) thoả mãn \(A_1 = 0\)\(A_i < A_{i + 1}\) \(\forall i\) \((1 \le i \le K - 1)\).

Output

  • In ra \(N\) số là thứ tự của các chú bò sau \(T\) phút, bắt đầu với vị trí của chú bò \(0\).

Scoring

  • Subtask \(1\): \(N \le 1000, T \le 10000\).
  • Subtask \(2\): Không có thêm ràng buộc.

Test 1

Input
5 3 4
0 2 3
Output
1 2 3 4 0
Note

Trong ví dụ trên, điệu nhảy được diễn ra như sau:
\(T = 0\): thứ tự = \([0, 1, 2, 3, 4]\), \(A = [0, 2, 3]\).
\(T = 1\): thứ tự = \([3, 1, 0, 2, 4]\), \(A = [1, 3, 4]\).
\(T = 2\): thứ tự = \([3, 4, 1, 0, 2]\), \(A = [2, 4, 0]\).
\(T = 3\): thứ tự = \([2, 4, 3, 1, 0]\), \(A = [3, 0, 1]\).
\(T = 4\): thứ tự = \([1, 2, 3, 4, 0]\), \(A = [4, 1, 2]\).


Bình luận

Không có bình luận nào.