結果
問題 |
No.451 575
|
ユーザー |
|
提出日時 | 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 |
ソースコード
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