水以下コンテスト
コンテスト日時
2024/03/30 (Sa) 14:00 - 17:05

I - Deque Inversion

Ceylon
2
s
1024
MB
100

問題文

長さ NN の数列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots , A_N) があります。

この数列に対して、 QQ 個のクエリを与えられた順番に処理し、各クエリ操作後の数列 AA の転倒数を出力してください。

クエリは以下の 44 種類のいずれかです。

  • 1 x: AA の末尾に xx を追加する。

    • より形式的には、 K=AK = |A| とし、 A=(A1,A2,,AK)A = (A_1, A_2, \ldots, A_K)A=(A1,A2,,AK,x)A = (A_1, A_2, \ldots, A_K, x) で置き換える。
  • 2: AA の末尾の数を取り除く。

    • より形式的には、 K=AK = |A| とし、 A=(A1,A2,,AK)A = (A_1, A_2, \ldots, A_K)A=(A1,A2,,AK1)A = (A_1, A_2, \ldots, A_{K - 1}) で置き換える。
  • 3 x: AA の先頭に xx を追加する。

    • より形式的には、 K=AK = |A| とし、 A=(A1,A2,,AK)A = (A_1, A_2, \ldots, A_K)A=(x,A1,A2,,AK)A = (x, A_1, A_2, \ldots , A_K) で置き換える。
  • 4: AA の先頭の数を取り除く。

    • より形式的には、 K=AK = |A| とし、 A=(A1,A2,,AK)A = (A_1, A_2, \ldots, A_K)A=(A2,A3,,AK)A = (A_2, A_3, \ldots , A_K) で置き換える。
転倒数とは?

数列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots , A_N) の転倒数とは、
1i<jN1 \leq i < j \leq N かつ Ai>AjA_i > A_j を満たす、整数の組 (i,j)(i, j) の個数です。

制約

  • 2N1052 \leq N \leq 10^5
  • 105Ai105-10^5 \leq A_i \leq 10^5
  • 1Q1051 \leq Q \leq 10^5
  • 105x105-10^5 \leq x \leq 10^5
  • 入力はすべて整数
  • AA の長さが 22 より小さくなるようなクエリは与えられない

部分点

以下の条件を満たすテストケースにすべて正解したとき、記載された点数が与えられる。

  1. (10点) N100,  Q100, N \leq 100, ~~ Q \leq 100, ~ クエリは 1 x2 のどちらか
  2. (10点) N100,  Q100N \leq 100, ~~ Q \leq 100
  3. (20点) N2×104,  Q100N \leq 2 \times 10^4, ~~ Q \leq 100
  4. (60点) 追加の制約はない

入力

入力は以下の形式で標準入力から与えられる。

NN
A1A_1 A2A_2 \ldots ANA_N
QQ
query1\mathrm{query}_1
query2\mathrm{query}_2
\vdots
queryQ\mathrm{query}_Q

各クエリ queryi\mathrm{query}_i は以下に示す 44 つの形式のいずれかである。

11 xx

22

33 xx

44

出力

QQ 行出力せよ。
ii 行目には、 ii 番目までのクエリに対して操作を行った数列 AA の、転倒数を出力せよ。

入力例 1
4 20 24 3 30 3 2 2 1 330
出力例 1
2 0 0

はじめ、 A=(20,24,3,30)A = (20, 24, 3, 30) です。

  • 1つ目のクエリ 2 の後、 A=(20,24,3)A = (20, 24, 3) となり、この数列の転倒数は 22 です。
  • 2つ目のクエリ 2 の後、 A=(20,24)A = (20, 24) となり、この数列の転倒数は 00 です。
  • 3つ目のクエリ 1 330 の後、 A=(20,24,330)A = (20, 24, 330) となり、この数列の転倒数は 00 です。

このサンプルは部分点1の制約を満たします。

入力例 2
7 3 1 -4 1 5 -9 -2 4 1 0 4 3 0 2
出力例 2
17 11 14 11

このサンプルは部分点2の制約を満たします。