ABC343

ardririy
·

温まったけど...なんだかな~

A - Wrong Answer

forで0から9まで見て、a+bと違ったらそれを出力。よく考えるとa+b == 0なら1を、そうでなければ0を出力すればいいですね。

B - Adjacency Matrix

グラフを構築して辺を出力する。

C - 343

Nは最大10^18と大きそうに見えるけど、x ^ 3 <= 10^18となるxはたかだか10^6程度に収まるので、全探索すれば良いです。

D - Diversity of Scores

mapを用いてある得点に何人いるかを保持しつつ得点変化を追っていけば、ある時点での種類数はmap.len()でわかる。0人になった得点をremoveするのを忘れずに。

E - 7x7x7

Yes/Noの判定は簡単だが、9つの整数を求めるのがわからんかった。ぜんぜん解かれてないので諦めた。

F - Second Largest Query

2番めに大きい値は(最大値, 二番目に大きい値)をセグ木で管理してあげれば取得・更新O(log(N))を達成できるのに気付けたが、個数も一緒に載せて上げる気持ちになれなくて「配列のある区間に含まれる任意の値の数を取るのって、更新ありでできる?」となってた。人類セグ木得意すぎだろ。

ということで遅れてAC. カス実装すぎるのでもっと簡潔に書く方法を調べておこう。