Codeforces Round #421

editorialなどを見ながら埋めたのでその記録。

A

 失題の問題。それでも解けるらしいが、なんか闇なので無視。

B

 端から端に移動するときの処理と、自分の位置に来たらデクリメントとインクリメントが切り替わることに注意して、1つずつずらしていけばよい。

C

 適当に面積の方程式を立てて式をいじっているとある特定の数の倍数になってはいけないとなるので、包助原理。

D

 円環をpずつ進むとき、それぞれの位置に何回目に到達するのかを知りたくなる。p進んだ位置を今いる位置+1にするためにベズーの等式を解きたい気持ちになり(これに気付かない)、拡張ユークリッドの互除法で解く。

E

 n-2で構築できたらnで構築できることに気づけば終了。