ABC B問題 #092,#093,#094

開催回の前に#を入れるとなんか良い。

あと文字に起こすのは早めにするべきだと思った。

今回の3問は最近疲労がたまっていたせいか解くのに時間がかかった。疲労を抜くのは大事。

#092 B. Chocolate

各参加者のチョコレートを消費する日のリストをつくって、

最後に全部の参加者リストの長さ(結果的にその参加者が食べるチョコの数になる)とあまったチョコの数を合計した。

#093 B. Small and Large Integers

基本的な考え方はrange(a,k,1)とrange(b,b-k,-1)のsetをとればよいが

b < a+k や a > b-k の場合を組み込む必要がある。

ので、

set (range(a,min(b+1,a+k)) + range(b, max(a-1, b-k, -1))

をとる必要がある。

max,minの中の第一引数に+1と-1を追加するのは、上記特殊ケースの場合、rangeがb,aそのものを含まないため。

#094 B. Toll Gates

初期はXのマスにいるので、料金所のマスを格納したリストを0からXマスの左隣りのマスまでのリストと、X+1マスからN+1マスまでのリストに分ける。

これら二つのリストの長さを比較し、小さいほうが通過する料金所が少なくなるのでオトクになる。