結果

問題 No.1379 Postponed
ユーザー gew1fw
提出日時 2025-06-12 20:56:28
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 1,260 bytes
コンパイル時間 162 ms
コンパイル使用メモリ 82,572 KB
実行使用メモリ 805,864 KB
最終ジャッジ日時 2025-06-12 20:59:56
合計ジャッジ時間 9,025 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 40 MLE * 1 -- * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

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()
0