結果
問題 | No.2352 Sharpened Knife in Fall |
ユーザー | magurofly |
提出日時 | 2023-06-16 22:00:03 |
言語 | Crystal (1.14.0) |
結果 |
AC
|
実行時間 | 642 ms / 3,000 ms |
コード長 | 434 bytes |
コンパイル時間 | 13,705 ms |
コンパイル使用メモリ | 297,504 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-24 14:12:42 |
合計ジャッジ時間 | 27,765 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
input = gets.to_s.split.map { |s| s.to_i } r = input[0].to_f64 k = input[1] r2 = r * r * 1.0 f = ->(y: Float64) { dy = Math.sqrt(r2 - y * y); (y * dy + r2 * Math.atan(y / dy)) } s = Math::PI * r2 / (k + 1) ans = [] of Float64 prev = -r k.times do ac = r wa = prev s0 = f.call(prev) 100.times do wj = (ac + wa) * 0.5 if f.call(wj) - s0 >= s ac = wj else wa = wj end end puts ac prev = ac end