結果
問題 |
No.1379 Postponed
|
ユーザー |
![]() |
提出日時 | 2025-06-12 15:58:42 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,260 bytes |
コンパイル時間 | 136 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 848,680 KB |
最終ジャッジ日時 | 2025-06-12 15:59:02 |
合計ジャッジ時間 | 8,819 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 40 MLE * 1 -- * 23 |
ソースコード
def main(): import sys input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr += 1 K = int(input[ptr]) ptr += 1 A = list(map(int, input[ptr:ptr+N])) ptr += N seen = {} current_step = 0 while current_step < K: key = tuple(A) if key in seen: pre = seen[key] cycle_length = current_step - pre rem = K - current_step rem = rem % cycle_length # Simulate rem steps from the current state for _ in range(rem): m = A[0] + 1 if m > len(A): m = len(A) if m == 0: continue first = A[:m] rotated = first[1:] + [first[0]] A = rotated + A[m:] current_step += 1 break else: seen[key] = current_step current_step += 1 m = A[0] + 1 if m > len(A): m = len(A) if m == 0: continue first = A[:m] rotated = first[1:] + [first[0]] A = rotated + A[m:] print(' '.join(map(str, A))) if __name__ == "__main__": main()