結果

問題 No.2608 Divide into two
コンテスト
ユーザー lloyz
提出日時 2024-01-21 18:45:03
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 58 ms / 1,000 ms
+ 621µs
コード長 489 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 220 ms
コンパイル使用メモリ 96,588 KB
実行使用メモリ 83,584 KB
最終ジャッジ日時 2026-09-05 14:32:39
合計ジャッジ時間 1,867 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

for _ in range(int(input())):
    n = int(input())
    sum_ = n * (n + 1) // 2
    if sum_ % 2 == 1:
        print(-1)
    else:
        curr = sum_ // 2
        ANS = [0 for _ in range(n)]
        idx = n - 1
        while curr > 0:
            curr -= idx + 1
            if curr <= 0:
                curr += idx + 1
                ANS[curr - 1] = 1
                curr = 0
            else:
                ANS[idx] = 1
                idx -= 1
        print(''.join(map(str, ANS)))
0