結果

問題 No.451 575
ユーザー ヒッキープログラミングするスレ GitHub ガチヒッキープログラミングするスレ GitHub ガチ
提出日時 2016-12-02 23:59:20
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 655 bytes
コンパイル時間 315 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 26,368 KB
最終ジャッジ日時 2024-12-16 10:44:51
合計ジャッジ時間 21,800 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 31 ms
15,744 KB
testcase_01 AC 30 ms
21,248 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 TLE -
testcase_05 WA -
testcase_06 WA -
testcase_07 TLE -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 AC 31 ms
10,752 KB
testcase_23 WA -
testcase_24 AC 453 ms
16,028 KB
testcase_25 TLE -
testcase_26 WA -
testcase_27 WA -
testcase_28 WA -
testcase_29 WA -
testcase_30 WA -
testcase_31 WA -
testcase_32 TLE -
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
b = [0] + [int(input()) for _ in range(n)]

def f(a1):
    a2 = b[1] - a1
    a = [0, a1, a2]
    for k in range(3, n + 2):
        t = 0
        if k % 2 == 0:
            t = b[k - 2] + b[k - 1] - a[k - 2]
            if t < 0 or t > 10 ** 18:
                return [1]
        else:
            t = b[k - 2] - b[k - 1] - a[k - 2]
            if t < 0 or t > 10 ** 18:
                return [-1]
        a.append(t)
    return a

g = b[1] - 1
l = 1

while l < g:
    m = (l + g) // 2
    ans = f(m)
    if len(ans) > 1:
        print(n + 1, *ans[1:], sep='\n')
        break
    elif ans[0] < 0:
        g = m
    else:
        l = m
0