結果
問題 | No.1010 折って重ねて |
ユーザー |
|
提出日時 | 2020-04-29 19:54:07 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 706 bytes |
コンパイル時間 | 21,225 ms |
コンパイル使用メモリ | 392,980 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-29 16:21:23 |
合計ジャッジ時間 | 23,701 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 WA * 3 |
ソースコード
use std::cmp::*; use std::io::*; fn rec(x: u64, y: u64, h: u64, c: u64) -> u64 { if h >= x && h >= y { return c; } let mut res = c; if y > h { res = max(res, rec(x, y >> 1, h << 1, c + 1)); } if x > h { res = max(res, rec(x >> 1, y, h << 1, c + 1)); } res } fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let mut x: u64 = itr.next().unwrap().parse().unwrap(); let mut y: u64 = itr.next().unwrap().parse().unwrap(); let h: u64 = itr.next().unwrap().parse().unwrap(); x *= 1000; y *= 1000; println!("{}", rec(x, y, h, 0)); }