問題一覧 > 通常問題

No.2942 Sigma Music Game Level Problem

レベル : / 実行時間制限 : 1ケース 6.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 61
作問者 : kazuppakazuppa / テスター : highlighterhighlighter MagentorMagentor hirayuu_ychirayuu_yc
0 ProblemId : 11351 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-10-18 22:09:29

ストーリー

先ほどのゲームにおいてテストファイルの大半でFCできなかったkazuppa君は、次のように決意しました。

  • 難易度をちゃんと選ぼう!
  • ということで、改めて曲を選ぶことにしました。

    問題文

    初めからある曲は合計で $N$ 個、曲のレベルはそれぞれ $A_1,A_2,...\ ,A_{N}$ となっています。

    また、長さ $Q+1$ の数列 $L_0,L_1,...,L_Q$ があります。はじめ $L_0$ が入力で与えられ、$L_i\ (1\leq i\leq Q)$ は $0$ で初期化されています。そして、 $\max_{i=1}^{N}A_i\leq L_0$ となっています。

    以下のクエリが合計 $Q$ 個与えられるので、順番に処理してください。

  • 1 l 新たにレベル $l$ の曲が追加される。

    $\ \ \ \ \ $なお、これが $i$ 番目のクエリの時、 $0\leq l\leq L_i$ であることが保証されています。

  • 2 l r その時点で存在する、レベルが $l$ 以上 $r$ 以下となる曲の個数の総和とその条件を満たす曲のレベルの総和を求め、空白区切りで一行で出力してください。

    $\ \ \ \ \ $つまり、レベル $n$ の曲の数を $F(n)$ とするとき、

    $\ \ \ \ \ \displaystyle\sum_{i=l}^r F(i)$ と $\displaystyle\sum_{i=l}^r F(i)\times i$ を順番に出力してください。

    $\ \ \ \ \ $なお、これが $i$ 番目のクエリの時、 $0\leq l\leq r\leq L_i$ であることが保証されています。

  • 3 m このクエリが $i$ 番目の時、 $L_i$ を $m$ とする。

    $\ \ \ \ \ $なお、 $L_{i-1}< m\leq 200000$ であることが保証されています。

  • ただし、 $i$ 番目のクエリが $3$ でないのなら、 $L_i=L_{i-1}$ となります。

    なお、もしクエリ $2$ が一つも与えられなかった場合は、Not Found!と出力してください。
  • 入力

    入力は以下の形式で標準入力から与えられる。
    $N\ \ Q\ \ L_0$
    $A_1\ \ A_2 \ \ ...\ \ A_{N}$
    $Query_1$
    $Query_2$
    .
    .
    $Query_Q$
    
    また、各クエリについては次のうちのいずれかである。

    $1\ \ l$
    $2\ \ l\ \ r$
    $3\ \ m$

    制約

    • $1\leq N,Q\leq 10^6\\ $
    • $0\leq L_0\leq 10^5\times 2\\ $
    • $0\leq A_i\leq L_0\ (1\leq i\leq N)\\ $
    • クエリ $1$ において、これが $i$ 番目のクエリの時、 $0\leq l\leq L_i\\ $
    • クエリ $2$ において、これが $i$ 番目のクエリの時、 $0\leq l\leq r\leq L_i\\ $
    • クエリ $3$ において、これが $i$ 番目のクエリの時、 $L_{i-1}< m\leq 10^5\times 2\\ $
    • 入力はすべて整数

    出力

    クエリ $2$ が一つも与えられなかったらNot Found!と出力してください。 もしクエリ $2$ が存在するのなら、クエリ $2$ の答えをそれぞれ一行に出力してください。

    最後に改行してください。

    サンプル

    サンプル1
    入力
    2 4 4
    1 3
    2 2 4
    3 6
    1 5
    2 2 5
    
    出力
    1 3
    2 8
    

    まず、最初から追加されてる楽曲のレベルは $1$ と $3$ です。

    また、この問題における $L$ は、 $(4,4,6,6,6)$ となります。

    各クエリでは次のようになります。

    • 2つ目のクエリではレベルが $2$ 以上 $4$ 以下の曲は $3$ の一つだけです。
    • $\ \ \ \ $よって、曲数は $1$ 、レベルの総和は $3$ となります。

    • 4つ目のクエリでは 新たにレベル $5$ の曲が追加されます。
    • 5つ目のクエリではレベルが $2$ 以上 $5$ 以下の曲は $3$ と $5$ の二つです。
    • $\ \ \ \ $よって、曲数は $2$ 、レベルの総和は $8$ となります。

    サンプル2
    入力
    1 1 0
    0
    1 0
    
    出力
    Not Found!
    

    クエリ $2$ が与えられない場合もあります、こういう時はNot Found!と出力してください。また、 $L_0=0$ の場合もあることに注意してください。

    サンプル3
    入力
    9 7 9
    9 8 6 1 8 9 7 9 6
    1 6
    1 1
    3 21
    1 10
    1 16
    1 8
    2 17 20
    
    出力
    0 0
    

    提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。