結果

問題 No.1381 Simple Geometry 1
ユーザー tatt61880
提出日時 2021-02-15 12:20:41
言語 Kuin
(KuinC++ v.2021.9.17)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 629 bytes
コンパイル時間 2,049 ms
コンパイル使用メモリ 146,760 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-16 11:24:10
合計ジャッジ時間 2,822 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

func main()
	var x: int :: cui@inputInt()
	var y: int :: cui@inputInt()
	var z: int :: cui@inputInt()
	var w: int :: cui@inputInt()
	
	var ok: float :: 1.0e+10
	var ng: float :: 0.0
	for(1, 1000)
		var mid: float :: (ok + ng) / 2.0
		var bp: float :: lib@dist(ok, 0.0, 0.0, y $ float)
		var bq: float :: lib@dist(x $ float / ok, 0.0, 0.0, z $ float)
		if(bp - bq > w $ float)
			do ok :: mid
		else
			do ng :: mid
		end if
	end for
	
	var bc: float :: x $ float / ok
	var ans: float :: x $ float - (ok * y $ float + bc * z $ float + (bc - y $ float) * (ok - z $ float)) / 2.0
	do cui@print("\{ans.toStrFmt(".10f")}\n")
end func
0