AtCoder AGC 34A

atcoder.jp

ハマったのでメモ。
ハマりの理由はlower_boundの戻り値に関する誤解だった。

cpprefjp.github.io

lower_boundは指定した値「以上」の値を表す最初のイテレータを返す。「以上」でなく「より大きい」だと思っていたためハマった。
色々試しているうちに思いがけずテストケースが不十分ではないだろうか?と思い始めた。"Yes"を出力しなくてはならないケースにおいて"No"を出力する「ニセ解法」プログラムにも関わらず、ACが出てしまう場合がある気がする。例えば "AC##BD"のようにA-CとB-Dが厚い壁で分離されている場合、"##"がA-D間にあるか否かで遷移の可否を判断すると誤った解答を出力してしまうが、上のジャッジではそのようなケースがないらしくACが出る。もうすでに指摘済みなんだろうか。