結果
問題 | No.451 575 |
ユーザー | nebukuro09 |
提出日時 | 2016-12-02 00:48:36 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 298 ms / 2,000 ms |
コード長 | 612 bytes |
コンパイル時間 | 693 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 12,800 KB |
最終ジャッジ日時 | 2024-12-16 09:46:54 |
合計ジャッジ時間 | 6,212 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 |
ソースコード
N = input() b = [int(raw_input()) for _ in xrange(N)] upper = 10 ** 18 + 1 lower = 0 x = 0 for i in xrange(N): if i % 4 == 0: x += b[i] upper = min(upper, x) elif i % 4 == 1: x -= b[i] upper = min(upper, x) elif i % 4 == 2: x -= b[i] lower = max(lower, x) else: x += b[i] lower = max(lower, x) if upper - lower <= 1: print -1 else: a = [0 for _ in xrange(N+1)] a[0] = lower + 1 for i in xrange(1, N+1): a[i] = b[i-1] - a[i-1] if i % 2 == 1 else a[i-1] - b[i-1] print N+1 for x in a: print x