結果
問題 | No.1707 Simple Range Reverse Problem |
ユーザー |
|
提出日時 | 2021-10-15 22:17:44 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 29 ms / 2,000 ms |
コード長 | 827 bytes |
コンパイル時間 | 80 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,136 KB |
最終ジャッジ日時 | 2024-09-17 17:37:39 |
合計ジャッジ時間 | 1,270 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 |
ソースコード
T = int(input()) for t in range(T): N = int(input()) A = list(map(int, input().split())) if not(A[0] == 1 and A[-1] == N): print('No') continue flag = False chs = 0 che = 0 count = {i+1: 0 for i in range(N)} for i in range(2*N): count[A[i]] += 1 if A[i] != i % N+1 and not flag: chs = i-1 flag = True continue if flag and A[i] == A[chs]: che = i for i in range(N): if count[i+1] != 2: print('No') break else: for i in range(2*N): if chs < i < che: i_ = che-(i-chs) else: i_ = i if A[i_] != i % N+1: print('No') break else: print('Yes')