結果

問題 No.955 ax^2+bx+c=0
ユーザー tamatotamato
提出日時 2020-02-18 00:48:33
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 1,159 bytes
コンパイル時間 270 ms
コンパイル使用メモリ 82,232 KB
実行使用メモリ 82,004 KB
最終ジャッジ日時 2024-10-06 15:19:09
合計ジャッジ時間 5,821 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21 RE * 10 TLE * 1 -- * 90
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    import sys
    from math import sqrt
    input = sys.stdin.readline

    a, b, c = map(int, input().split())

    if a == b == c == 0:
        print(-1)
        exit()
    if a == b == 0:
        print(0)
        exit()
    if a == 0:
        print(0)
        print(-c / b)
    D = b**2 - 4*a*c
    if D < 0:
        print(0)
    elif D == 0:
        print(1)
        print(-b/(2*a))
    else:
        print(2)
        eps = 10**-11
        if a < 0:
            a *= -1
            b *= -1
            c *= -1
        L = -b / (2*a)
        ok = 10**10
        ng = L - eps
        mid = (ok+ng) / 2
        while ok - ng > eps:
            if a * mid**2 + b*mid+c > 0:
                ok = mid
            else:
                ng = mid
            mid = (ok+ng)/2
        x_plus = ok

        ok = -10 ** 10
        ng = L + eps
        mid = (ok + ng) / 2
        while ng - ok > eps:
            if a * mid ** 2 + b * mid + c > 0:
                ok = mid
            else:
                ng = mid
            mid = (ok + ng) / 2
        x_minus = ok

        print(x_minus)
        print(x_plus)


if __name__ == '__main__':
    main()
0