問題一覧 > 通常問題

No.3059 Range Tournament

レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 18
作問者 : 👑 tute7627 / テスター : 👑 rin204 👑 SPD_9X2
4 ProblemId : 11172 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-03-13 23:37:48

問題文

$N$ 人のプレイヤー $1,2,\dots,N$ がいます。

今から $(1,2,\dots,N)$ の順列 $P$ を用いて $Q$ 回の大会が行われます。$i$ 回目の大会は以下のように進行します。

  1. 先頭から順にプレイヤー $P_{L_i}, P_{L_{i+1}}, \dots, P_{R_i}$ と並んだ列を作る。
  2. 以下の処理を列に残っているプレイヤーが一人になるまで繰り返す。
    • 先頭から二人のプレイヤーで試合を行う。プレイヤー番号が大きい方のプレイヤーが勝利し、列の末尾に移動する。小さい方のプレイヤーは列から抜ける。

$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もしくは右上の雲マークをクリックしてアカウントを作成してください。