結果
| 問題 | No.3531 Erase Pair |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-02 15:20:16 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 140 ms / 500 ms |
| コード長 | 1,320 bytes |
| 記録 | |
| コンパイル時間 | 489 ms |
| コンパイル使用メモリ | 85,756 KB |
| 実行使用メモリ | 83,016 KB |
| 最終ジャッジ日時 | 2026-05-04 20:56:32 |
| 合計ジャッジ時間 | 9,123 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 50 |
ソースコード
#C++ to python chatgptで翻訳
def solve():
N = int(input())
A = list(map(int, input().split()))
A.sort()
zero_cnt = 0
B = []
C = []
for x in A:
if x < 0:
C.append(x)
elif x == 0:
zero_cnt += 1
else:
B.append(x)
B.sort(reverse=True)
C.sort()
if zero_cnt == 0:
return True
if zero_cnt >= 2:
return False
if N % 2 == 0:
return False
if len(B) % 2 == 0:
return True
if B[-1] != -C[-1]:
return True
if (B[-1] != B[len(B) // 2]) or (C[-1] != C[len(C) // 2]):
return True
for x in A:
if x % B[-1] != 0:
return True
# 正規化
div = B[-1]
A = [x // div for x in A]
C = [x // div for x in C]
B = [x // div for x in B]
if -4 >= C[0] or B[0] >= 4:
return True
from collections import Counter
cnt = Counter(A)
if cnt[3] >= 1 and cnt[2] % 2 == 0:
return True
if cnt[-3] >= 1 and cnt[-2] % 2 == 0:
return True
if cnt[3] >= 2 and cnt[2] % 2 == 1:
return True
if cnt[-3] >= 2 and cnt[-2] % 2 == 1:
return True
return False
T = int(input())
for _ in range(T):
print("Yes" if solve() else "No")