No.3059 Range Tournament
レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 18
作問者 : 👑
tute7627
/ テスター :
👑
rin204
👑
SPD_9X2
タグ : / 解いたユーザー数 18
作問者 : 👑


問題文最終更新日: 2025-03-13 23:37:48
問題文
$N$ 人のプレイヤー $1,2,\dots,N$ がいます。
今から $(1,2,\dots,N)$ の順列 $P$ を用いて $Q$ 回の大会が行われます。$i$ 回目の大会は以下のように進行します。
- 先頭から順にプレイヤー $P_{L_i}, P_{L_{i+1}}, \dots, P_{R_i}$ と並んだ列を作る。
- 以下の処理を列に残っているプレイヤーが一人になるまで繰り返す。
- 先頭から二人のプレイヤーで試合を行う。プレイヤー番号が大きい方のプレイヤーが勝利し、列の末尾に移動する。小さい方のプレイヤーは列から抜ける。
$i=1,2,\dots,N$ それぞれについて、$Q$ 回の大会の中でプレイヤー $i$ が勝利する試合数の合計を求めてください。
入力
$N$ $P_1\ P_2\ \dots \ P_N$ $Q$ $L_1\ R_1$ $L_2\ R_2$ $\vdots$ $L_Q\ R_Q$
- 入力はすべて整数である。
- $2 \le N \le 2 \times 10^5$
- $1 \le Q \le 2 \times 10^5$
- $P$ は $(1,2,\dots,N)$ の順列である。
- $1 \le L_i < R_i \le N$
出力
$i$ 行目にはプレイヤー $i$ が勝利する試合数の合計を出力してください。 最後に改行してください。
サンプル
サンプル1
入力
5 3 1 4 2 5 1 1 5
出力
0 0 1 1 2
先頭から順にプレイヤー番号が $(3,1,4,2,5)$ と並んだ状態で大会を開始します。
- $1$ 試合目ではプレイヤー $3$ とプレイヤー $1$ が試合をし、プレイヤー $3$ が勝利します。列の状態は $(4,2,5,3)$ となります。
- $2$ 試合目ではプレイヤー $4$ とプレイヤー $2$ が試合をし、プレイヤー $4$ が勝利します。列の状態は $(5,3,4)$ となります。
- $3$ 試合目ではプレイヤー $5$ とプレイヤー $3$ が試合をし、プレイヤー $5$ が勝利します。列の状態は $(4,5)$ となります。
- $4$ 試合目ではプレイヤー $4$ とプレイヤー $5$ が試合をし、プレイヤー $5$ が勝利します。列の状態は $(5)$ となります。
サンプル2
入力
14 5 9 12 7 4 1 14 6 13 3 11 2 8 10 10 12 13 1 14 3 8 2 13 4 11 3 11 4 6 5 8 4 14 2 14
出力
0 0 0 4 0 0 6 4 1 2 7 12 10 26
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。