結果

問題 No.1381 Simple Geometry 1
ユーザー zeronosu77108
提出日時 2021-02-17 17:53:55
言語 Kotlin
(2.1.0)
結果
AC  
実行時間 338 ms / 2,000 ms
コード長 452 bytes
コンパイル時間 12,869 ms
コンパイル使用メモリ 433,100 KB
実行使用メモリ 52,184 KB
最終ジャッジ日時 2024-09-14 04:11:47
合計ジャッジ時間 23,903 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

import kotlin.math.hypot

fun main() {
    val (x, y, z, w) = readLine()!!.split(" ").map { it.toDouble() }

    var l = 0.0; var r = x;
    for (i in 0 until 100) {
        val ab = (l+r) / 2
        val ad = x / ab

        if (hypot(ab, y) - hypot(ad, z) <= w) l = ab
        else r = ab
    }

    val ab = l
    val ad = x / ab
    val abp = ab * y / 2
    val dpa = (ad-y) * (ab-z) / 2
    val bcq = ad * z / 2

    println(x - abp - dpa - bcq)
}
0