結果

問題 No.451 575
ユーザー ヒッキープログラミングするスレ 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
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 2
other AC * 2 WA * 23 TLE * 4
権限があれば一括ダウンロードができます

ソースコード

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