結果
問題 |
No.1371 交換門松列・松
|
ユーザー |
![]() |
提出日時 | 2025-06-12 14:22:30 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,279 bytes |
コンパイル時間 | 252 ms |
コンパイル使用メモリ | 82,816 KB |
実行使用メモリ | 68,608 KB |
最終ジャッジ日時 | 2025-06-12 14:22:48 |
合計ジャッジ時間 | 8,032 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 15 TLE * 1 -- * 13 |
ソースコード
def main(): import sys input = sys.stdin.read data = input().split() N = int(data[0]) A = list(map(int, data[1:N+1])) count = 0 for i in range(N): for j in range(i + 1, N): # Perform the swap A[i], A[j] = A[j], A[i] valid = True # Check affected triplets for i for k in [i-2, i-1, i]: if k < 0: continue if k + 2 >= N: break x, y, z = A[k], A[k+1], A[k+2] if y != max(x, y, z) and y != min(x, y, z): valid = False break if not valid: A[i], A[j] = A[j], A[i] continue # Check affected triplets for j for k in [j-2, j-1, j]: if k < 0: continue if k + 2 >= N: break x, y, z = A[k], A[k+1], A[k+2] if y != max(x, y, z) and y != min(x, y, z): valid = False break if valid: count += 1 # Undo the swap A[i], A[j] = A[j], A[i] print(count) if __name__ == "__main__": main()