結果

問題 No.1425 Yet Another Cyclic Shifts Sorting
ユーザー lam6er
提出日時 2025-04-16 16:45:34
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 780 bytes
コンパイル時間 475 ms
コンパイル使用メモリ 81,768 KB
実行使用メモリ 284,784 KB
最終ジャッジ日時 2025-04-16 16:46:57
合計ジャッジ時間 7,056 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19 WA * 5 TLE * 1 -- * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    import sys
    input = sys.stdin.read().split()
    n = int(input[0])
    a = list(map(int, input[1:n+1]))
    s = sorted(a)
    
    if a == s:
        print(0)
        return
    
    def is_rotation(a_part, s_part):
        if len(a_part) != len(s_part):
            return False
        if not a_part:
            return True
        first = s_part[0]
        indices = [i for i, x in enumerate(a_part) if x == first]
        for i in indices:
            if a_part[i:] + a_part[:i] == s_part:
                return True
        return False
    
    for j in range(n, 0, -1):
        a_part = a[:j]
        s_part = s[:j]
        if is_rotation(a_part, s_part):
            print(1)
            return
    
    print(2)

if __name__ == "__main__":
    main()
0