セグメント木にマージソートを載せると、構築 Θ(NlogN)\Theta (NlogN)Θ(NlogN)、クエリ Θ(N)\Theta (N)Θ(N) で処理できます。全体の計算量は Θ(N(logN+Q))\Theta (N(logN + Q))Θ(N(logN+Q)) です。
…\dots… のはずが、想定より愚直解のほうが速いらしいです。
いろんな解き方がありそうなので verify とかに使ってね☆