結果
問題 |
No.1042 愚直大学
|
ユーザー |
![]() |
提出日時 | 2021-03-14 13:17:35 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 817 bytes |
コンパイル時間 | 12,540 ms |
コンパイル使用メモリ | 400,940 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 02:56:15 |
合計ジャッジ時間 | 13,642 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
#[allow(dead_code)] #[allow(unused_imports)] fn read<T: std::str::FromStr>() -> T { use std::io::*; let stdin = stdin(); let stdin = stdin.lock(); let token: String = stdin .bytes() .map(|c| c.expect("failed to read char") as char) .skip_while(|c| c.is_whitespace()) .take_while(|c| !c.is_whitespace()) .collect(); token.parse().ok().expect("failed to parse token") } fn binary_search(p:f64,q:f64) -> f64 { let (mut lb , mut ub) = (0.0,1e15); for _ in 0..100 { let mid:f64 = (lb + ub) / 2.0; if mid <= q * mid.log2() + p / mid { lb = mid; }else{ ub = mid; } } lb } fn main(){ let p:usize = read(); let q:usize = read(); println!("{}",binary_search(p as f64,q as f64)); }