解説
クエリ X の答えは、Wi≤X であり、かつ j<i, Wj≤X を満たすすべての j について Aj<Ai が成り立つような i の個数である。
各 i について、j<i かつ Aj≥Ai を満たす j のうち、Wj の最小値を Ti とする。そのような j が存在しない場合は Ti=N+1 とする。
このとき、クエリ X の答えは Wi≤X<Ti を満たす i の個数となる。
したがって、各 i について区間 [Wi,Ti) に 1 を加算し、各 X における値を累積和で求めればよい。
i=1,2,…,N の順に、セグメント木の位置 x で Aj=x を満たす Wj の最小値を管理すれば、Ti は区間 [Ai,N] の最小値となるので、 O(NlogN+Q) でこの問題を解くことができる。