Open2
Rustで競プロする

標準入力
これはproconioを使えばいい.
- 基本
input! {
n: usize,
m: usize,
// 1次元配列
a: [usize;m],
// 2次元配列(n * m)
b: [[usize; m]; n],
}
- Stringで与えられる配列をCharの配列にする
input! {
s : String,
}
let char_vec: Vec<char> = s.chars().collect();
二次元配列にしたい場合はいったんStringの配列で受け取ってから下のようにすればいい
let b: Vec<Vec<char>> = Vec::new();
for s in b_string.iter() {
let chars: Vec<char> = s.chars().collect();
b.push(chars);
}

二分探索
let (Ok(idx) | Err(idx)) = vec.binary_search(&(key));
vecが配列.VScode上でエラーを吐くのはバージョンの問題?AtCoderのコードテストでは動く. バージョンの問題ですありがとうございました.
C++でのlower_bound()
と似ているけど,返されるのは要素のインデックス(ありがたい).
配列上の最大値よりも大きい時 -> ワカラン考慮するべき時は↓みたいな書き方でよさそう