そのグループ内で何個目のものなのかは、累積和とクエリの `k` から分かる。
何個目かが分かったら、あとは頑張れば `(l, r)` を特定できる。
(PBDS の tree を2個作って、`l` の降順にうまい具合に求めた)
そのグループ内で何個目のものなのかは、累積和とクエリの `k` から分かる。
何個目かが分かったら、あとは頑張れば `(l, r)` を特定できる。
(PBDS の tree を2個作って、`l` の降順にうまい具合に求めた)
重実装。
Bの並び順としては、
「`l=1`で辞書順小さくなるもの」
->「`l=2`で辞書順小さくなるもの」
-> ...
->「`l=n` で辞書順小さくなるもの」
->「辞書順変わらないもの」
->「`l=n` で辞書順大きくなるもの」
->「`l=n-1` で辞書順大きくなるもの」
-> ...
->「`l=1` で辞書順大きくなるもの」
となってる。
まずはこれら `2*n+1` 個の各グループについて、その中に含まれる `(l, r)` の組の個数を求める。
重実装。
Bの並び順としては、
「`l=1`で辞書順小さくなるもの」
->「`l=2`で辞書順小さくなるもの」
-> ...
->「`l=n` で辞書順小さくなるもの」
->「辞書順変わらないもの」
->「`l=n` で辞書順大きくなるもの」
->「`l=n-1` で辞書順大きくなるもの」
-> ...
->「`l=1` で辞書順大きくなるもの」
となってる。
まずはこれら `2*n+1` 個の各グループについて、その中に含まれる `(l, r)` の組の個数を求める。