結果
問題 | No.1707 Simple Range Reverse Problem |
ユーザー |
![]() |
提出日時 | 2021-10-15 22:00:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 52 ms / 2,000 ms |
コード長 | 832 bytes |
コンパイル時間 | 233 ms |
コンパイル使用メモリ | 82,364 KB |
実行使用メモリ | 75,496 KB |
最終ジャッジ日時 | 2024-09-17 17:30:07 |
合計ジャッジ時間 | 1,928 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 |
ソースコード
import collections def func(): try: N = int(input()) A = list(map(int, input().split())) CA = collections.Counter(A) for v in CA.values(): if v!=2: print('No') return if A[0]!=1 or A[-1]!=N: print('No') return for i in range(N): if A[i]!=i+1: j = i+A[i:].index(A[i-1]) A = A[:i]+A[i:j][::-1]+A[j:] if A[2*N-i-1]!=N-i: j = 2*N-i i = A.index(A[2*N-i])+1 A = A[:i]+A[i:j][::-1]+A[j:] for i in range(N): if A[i]!=i+1 or A[i+N]!=i+1: print('No') return print('Yes') except: print('No') T = int(input()) for _ in range(T): func()