結果
| 問題 | No.1064 ∪∩∩ / Cup Cap Cap | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2020-05-29 21:27:25 | 
| 言語 | PyPy2 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 79 ms / 2,000 ms | 
| コード長 | 898 bytes | 
| コンパイル時間 | 715 ms | 
| コンパイル使用メモリ | 76,964 KB | 
| 実行使用メモリ | 76,060 KB | 
| 最終ジャッジ日時 | 2024-11-06 02:28:35 | 
| 合計ジャッジ時間 | 5,109 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 36 | 
ソースコード
FAST_IO = 0
if FAST_IO:
    import io, sys, atexit
    rr = iter(sys.stdin.read().splitlines()).next
    sys.stdout = _OUTPUT_BUFFER = io.BytesIO()
    @atexit.register
    def write():
        sys.__stdout__.write(_OUTPUT_BUFFER.getvalue())
else:
    rr = raw_input
rri = lambda: int(rr())
rrm = lambda: map(int, rr().split())
####
def solve(A, B, C, D):
    # X^2 + AX + B
    # -X^2 + CX + D
    # equal when 2X^2 + (A-C)X + B-D = 0
    alpha = 2
    beta = A -C
    gamma = B-D
    discrim = beta * beta - 4 * alpha * gamma
    if discrim < 0:
        return "No"
    if discrim == 0:
        return "Yes"
    # x = -beta +/- sqrt(discrim)  >> 2
    drt = discrim ** 0.5
    x1 = (-beta - drt) / 4.0
    x2 = (-beta + drt) / 4.0
    y1 = x1*x1 + A * x1 + B
    y2 = x2*x2 + A * x2 + B
    m = (y2-y1)/float(x2-x1)
    b = y1 - m * x1
    return "{} {}".format(m, b)
    
print solve(*rrm())
            
            
            
        