結果
問題 |
No.1371 交換門松列・松
|
ユーザー |
![]() |
提出日時 | 2025-06-12 19:22:45 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,279 bytes |
コンパイル時間 | 177 ms |
コンパイル使用メモリ | 82,112 KB |
実行使用メモリ | 69,112 KB |
最終ジャッジ日時 | 2025-06-12 19:23:06 |
合計ジャッジ時間 | 6,987 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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()