結果
問題 |
No.550 夏休みの思い出(1)
|
ユーザー |
![]() |
提出日時 | 2017-07-29 13:30:52 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 35 ms / 2,000 ms |
コード長 | 727 bytes |
コンパイル時間 | 111 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-10-11 05:41:15 |
合計ジャッジ時間 | 3,377 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 55 |
ソースコード
import math a, b, c = map(int, input().split()) l = -10**32 r = 10**32 for i in range(1000): m = (l + r) / 2.0 if m**3 + a * m**2 + b * m + c > 0: r = m else: l = m s = int(l - 10) while s <= r + 10: if s**3 + a * s**2 + b * s + c != 0: s += 1 else: break d = a + s e = b + d * s l = d / -2.0 r = 10**32 for i in range(1000): m = (l + r) / 2.0 if m**2 + d * m + e > 0: r = m else: l = m t = int(l - 10) while t <= r + 10: if t**2 + d * t + e != 0: t += 1 else: break u = -a - s - t ret = [s, t, u] ret.sort() for i in range(3): ret[i] = str(int(ret[i] + 10**-9 if ret[i] > 0 else ret[i] - 10**-9)) print(" ".join(ret))