結果

問題 No.2343 (l+r)/2
ユーザー とろちゃ
提出日時 2023-06-09 21:19:37
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 804 bytes
コンパイル時間 373 ms
コンパイル使用メモリ 12,416 KB
実行使用メモリ 13,476 KB
最終ジャッジ日時 2025-01-02 02:05:54
合計ジャッジ時間 3,179 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 7 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #

def RLE(s):
    result = []
    count = 1
    for i in range(1, len(s)):
        if s[i] == s[i - 1]:
            count += 1
        else:
            result.append((s[i - 1], count))
            count = 1
    result.append((s[-1], count))
    return result


T = int(input())
for _ in range(T):
    N = int(input())
    A = "".join(input().split())
    cnt1 = A.count("1")
    cnt0 = A.count("0")
    rle = RLE(A)
    if cnt1 > cnt0:
        rle1 = len(rle[0::2]) if rle[0][0] == "1" else len(rle[1::2])
        if cnt0 >= rle1:
            print("Yes")
        else:
            print("No")
    elif cnt1 < cnt0:
        rle0 = len(rle[0::2]) if rle[0][0] == "0" else len(rle[1::2])
        if cnt1 >= rle0:
            print("Yes")
        else:
            print("No")
    else:
        print("Yes")
0