No.3330 Many Point Chmax Range Sum
レベル : / 実行時間制限 : 1ケース 3.500秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 3
作問者 : 👑
ArcAki
/ テスター :
kidodesu
タグ : / 解いたユーザー数 3
作問者 : 👑
kidodesu
問題文最終更新日: 2025-10-31 20:20:52
注意
この問題は制限時間が厳しくPyPy3でのACは確認していません。C++相当の速度の言語をご利用ください。問題文
長さ $N$ の数列 $A$ と $A$ に対する $K$ 個の操作が与えられます。
各操作の内容は以下のとおりです。ただし操作 $k$ とは $k$ 番目に与えられる操作のことを指します。
-
操作 $k$
- $1 ≤ p_k ≤ N$ なる正整数 $p_k$ 及び正整数 $X_k$が与えられる。$A_{p_k}$ を $\max(A_{p_k}, X_k)$ に変更する。
-
クエリ $j$
-
$1 ≤ L_j ≤ R_j ≤ K, 1 ≤ D_j ≤ U_j ≤ N$ なる正整数 $L_j, R_j, D_j, U_j$ が与えられる。
$L_j ≤ k ≤ R_j$ なる各正整数 $k$ について昇順に操作 $k$ を行なった場合の、 更新後の $A$ における $\sum_{i=D_j}^{U_j}{A_i}$ の値を出力する。
この操作は他のクエリには影響しない。
-
$1 ≤ L_j ≤ R_j ≤ K, 1 ≤ D_j ≤ U_j ≤ N$ なる正整数 $L_j, R_j, D_j, U_j$ が与えられる。
入力
$N\ K\ Q$ $A_1$ $\ldots$ $A_N$ $Update_1$ $\vdots$ $Update_K$ $Query_1$ $\vdots$ $Query_Q$ただし $Update_k$ は $k$ 番目の操作を表し以下の形式で与えられる。
$p_k\ X_k$また $Query_j$ は $j$ 番目のクエリを表し以下の形式で与えられる。
$L_j\ R_j\ D_j\ U_j$
- 入力はすべて整数で与えられる。
- $1 ≤ N, K, Q ≤ 1.5 × 10^5$
- $1 ≤ A_i ≤ 10^9$
- 操作について以下を満たす。
- $1 ≤ p_k ≤ N$
- $1 ≤ X_k ≤ 10^9$
- クエリについては以下を満たす。
- $1 ≤ L_j ≤ R_j ≤ K$
- $1 ≤ D_j ≤ U_j ≤ N$
出力
$Q$ 行出力してください。$j$ 行目ではクエリ $j$ の答えを出力し改行してください。
サンプル
サンプル1
入力
5 6 4 1 2 3 4 5 1 3 2 5 3 11 4 6 5 7 3 13 2 4 1 4 1 2 4 5 3 6 3 5 1 5 1 5
出力
23 9 26 32
例えば質問クエリ $1$ では操作 $2-4$ を昇順に適用したときの $A = [1, 5, 11, 6, 5]$ における $A[1:4]$ (閉区間表示) の総和を求めるので答えは $23$ です。
他のクエリでの操作ではAはそれぞれ順に以下のようになっています。
- $[3, 5, 3, 4, 5]$
- $[1, 2, 13, 6, 7]$
- $[3, 5, 11, 6, 7]$
サンプル2
入力
8 15 10 15 18 16 1 9 8 5 20 3 42 5 39 4 33 4 23 6 9 5 5 3 50 8 47 1 30 4 7 3 48 7 26 8 19 6 13 2 43 13 15 1 8 4 6 4 8 2 4 2 7 1 2 6 7 5 11 2 5 10 13 6 6 8 10 2 7 11 11 8 8 1 15 2 5 3 15 1 6
出力
122 66 119 13 84 8 63 20 165 178
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。