結果
| 問題 |
No.1957 Xor Min
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-08-08 05:31:02 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 639 bytes |
| コンパイル時間 | 16,013 ms |
| コンパイル使用メモリ | 377,708 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-08 11:14:44 |
| 合計ジャッジ時間 | 17,361 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
コンパイルメッセージ
warning: variable `A` should have a snake case name --> src/main.rs:5:13 | 5 | let mut A: i32 = iter.next().unwrap().parse().unwrap(); | ^ help: convert the identifier to snake case: `a` | = note: `#[warn(non_snake_case)]` on by default warning: variable `B` should have a snake case name --> src/main.rs:6:13 | 6 | let mut B: i32 = iter.next().unwrap().parse().unwrap(); | ^ help: convert the identifier to snake case: `b`
ソースコード
fn main() {
let mut input = String::new();
std::io::stdin().read_line(&mut input).unwrap();
let mut iter = input.split_whitespace();
let mut A: i32 = iter.next().unwrap().parse().unwrap();
let mut B: i32 = iter.next().unwrap().parse().unwrap();
// swap a b if a >b
if A > B {
let temp = A;
A = B;
B = temp;
}
// find biggest 2^a <= A and 2^b <= B
let mut a = 1;
let mut b = 1;
while a * 2 <= A {
a *= 2;
}
while b * 2 <= B {
b *= 2;
}
if a < b {
println!("{}", A);
} else if a == b {
println!("{}", a - 1);
}
}