結果
| 問題 | No.550 夏休みの思い出(1) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-07-28 23:10:41 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,069 bytes |
| コンパイル時間 | 107 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,136 KB |
| 最終ジャッジ日時 | 2024-10-10 04:44:46 |
| 合計ジャッジ時間 | 3,170 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 1 |
| other | AC * 5 WA * 50 |
ソースコード
def solve():
b,c,d = map(int, input().split())
a = 1
p = (3*a*c - (b**2)) / (3*(a**2))
q = (27*(a**2)*d + 2*(b**3) - 9*a*b*c) / (27 * (a**3))
u = ((-q/2) + (((q/2)**2 + (p/3)**3)**(1/2)))**(1/3)
v = ((-q/2) - (((q/2)**2 + (p/3)**3)**(1/2)))**(1/3)
w1 = (-1 + complex(3**0.5, 1)) / 2
w2 = (-1 - complex(3**0.5, 1)) / 2
x1 = u+v-(b/3*a)
x2 = w1*u + w2*v -(b / 3 / a)
x3 = w2*u + w1*v -(b / 3 / a)
ans = list(sorted([round(x1.real), round(x2.real), round(x3.real)]))
for i in range(-1, 2):
y1 = ans[0] + i
if ((y1**3) + b*(y1**2) + c*(y1) + d) != 0:
continue
for j in range(-1, 2):
y2 = ans[1] + j
if y2 <= y1: continue
if ((y2**3) + b*(y2**2) + c*(y2) + d) != 0:
continue
for k in range(-1, 2):
y3 = ans[2] + k
if y3 <= y2: continue
if ((y3**3) + b*(y3**2) + c*(y3) + d) != 0:
continue
print(y1, y2, y3)
return
solve()