結果
問題 |
No.1425 Yet Another Cyclic Shifts Sorting
|
ユーザー |
![]() |
提出日時 | 2025-06-12 21:24:13 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,045 bytes |
コンパイル時間 | 225 ms |
コンパイル使用メモリ | 81,536 KB |
実行使用メモリ | 269,712 KB |
最終ジャッジ日時 | 2025-06-12 21:25:42 |
合計ジャッジ時間 | 6,260 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 WA * 2 TLE * 1 -- * 23 |
ソースコード
def main(): import sys input = sys.stdin.read().split() n = int(input[0]) a = list(map(int, input[1:n+1])) a_sorted = sorted(a) if a == a_sorted: print(0) return # 检查是否可以通过购买一个道具i解决问题 for i in range(n, 0, -1): if i == 1: continue # 无需处理i=1的情况 # 提取原数组和目标数组的前i个元素 original = a[:i] target = a_sorted[:i] # 检查target是否是original的循环移位 # 将original重复两次,然后寻找target是否是其中的子数组 doubled = original * 2 # 寻找target在doubled中的起始位置 found = False for j in range(i): if all(doubled[j + k] == target[k] for k in range(i)): found = True break if found: print(1) return # 如果没有找到i,可能需要购买2种道具 print(2) if __name__ == "__main__": main()