結果
| 問題 |
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