346.1
明日のための肩慣らし。
250
A以上B以下の整数で、指定された整数すべての倍数になっているものの数を答えよ、という問題。
Bを超えるまで、指定された整数群の最小公倍数を求めていくだけ。超えなければ除算すれば該当するものの数が分かる。
500
整数配列が与えられるので、(循環して)隣接する要素との差分の最大値が最小となるように並び替えよ、という問題。複数可能な場合は辞書順で最初のものを答える。
差分の最大値を最小にするには、ソートして、先頭と末尾に交互に要素を入れていけば良い。ただ、辞書順で最初にしないといけないので、差分の最大値を決めてから、それを崩さないように貪欲に小さい要素を先頭側に入れていく。具体的には、次の要素が末尾側に入れても指定された差分の最大値を超えない場合は今の要素を先頭側に入れていく。