ABC119 D - Lazy Faith

atcoder.jp

何とか時間中に解けたけどもう少しスマートに早くできるようになりたい、、

二分探索を使うという発想は良かったが、解説にあるような最小値と最大値を挿入するというのを思いつかなかった。リストの中から見つからない、という状況をif文で何とかしていたので全通り試すのを無駄に複雑にしてしまった。また、xからsに行って戻ってきて次にtへ行く、というような計算の仕方をしてしまったのでこれまたif文の嵐になってしまった。x->s->t or x->t->sのような計算の仕方ならシンプルにかけた。

あとは自前の二分探索使ったせいか遅くて苦労した。最終的にはpypyで提出してみたら何とか通った。今までpythonで書いてTLEなったからc++に書き直すということを何度かしてきたので計算量的には大丈夫なはずの時には試してみよう。

本番で書いたコード

Submission #4375756 - AtCoder Beginner Contest 119