結果
| 問題 |
No.550 夏休みの思い出(1)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-08-15 23:15:29 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 171 ms / 2,000 ms |
| コード長 | 732 bytes |
| コンパイル時間 | 172 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 75,716 KB |
| 最終ジャッジ日時 | 2024-10-13 11:08:18 |
| 合計ジャッジ時間 | 7,020 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 55 |
ソースコード
import math
N = 1000000
def f(x,a,b,c):
return x**3 + a*x**2 + b*x + c
def SQRT(n):
l,r= 0,10**46
while r-l>1:
m = (l+r)//2
if m*m <= n:
l = m
else:
r = m
return l
def main():
A,B,C = map(int,input().split())
p = -N+1
while True:
if f(p,A,B,C) == 0:
break
p += 1
if p == 0:
D = A**2 - 4*B
sq = SQRT(D)
q = (-A + sq) // 2
r = (-A - sq) // 2
else:
D = (p*B+C)**2 + 4*C*p**3
sq = SQRT(D)
q = (p*B+C + sq) // (2*p**2)
r = (p*B+C - sq) // (2*p**2)
ans = [p,q,r]
ans.sort()
print(' '.join(map(str,ans)))
if __name__ == '__main__':
main()