セグメント木にマージソートを載せると、構築 Θ(NlogN)\Theta (NlogN)、クエリ Θ(N)\Theta (N) で処理できます。全体の計算量は Θ(N(logN+Q))\Theta (N(logN + Q)) です。

\dots のはずが、想定より愚直解のほうが速いらしいです。

いろんな解き方がありそうなので verify とかに使ってね☆