AT_ndpc2026_o ゲーム

Description

あなたはゲームをすることにしました。ゲームは $ N $ 日間の行動からなります。あなたは毎日整数 $ x \in \lbrace 0,1,2 \rbrace $ を $ 1 $ つ選び、 $ x $ 円を支払って行動 $ x $ を行います。 $ i $ 日目に行動 $ x $ を行うと $ A_{i,x} $ の経験値を得ます。 $ 1 $ 日に複数回行動を行うことは出来ません。 $ Q $ 個のクエリに答えてください。クエリでは $ 1 \leq d \leq N, 0 \leq b \leq 2d $ を満たす整数の組 $ (d,b) $ が与えられるので、次の問題を解いてください。 - $ 1 $ 日目から $ d $ 日目までに合計でちょうど $ b $ 円支払ったとする。この時、 $ 1 $ 日目から $ d $ 日目までに得た経験値の総和としてあり得る最大値を求めよ。 $ T $ 個のテストケースが与えられるので、それぞれについて問題を解いてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ Q $ $ A_{1,0} $ $ A_{1,1} $ $ A_{1,2} $ $ A_{2,0} $ $ A_{2,1} $ $ A_{2,2} $ $ \vdots $ $ A_{N,0} $ $ A_{N,1} $ $ A_{N,2} $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $ 各クエリは以下の形式で与えられる。 > $ d $ $ b $

Output Format

各テストケースの答えをテストケースが与えられた順に出力せよ。 各テストケースでは $ Q $ 行出力せよ。 $ i $ 行目には $ i $ 番目のクエリへの答えを出力せよ。

Explanation/Hint

### 部分点 この問題には部分点が設定されている。 - 全てのクエリに対して $ d = N $ が成り立つデータセットに正解した場合、 $ 5 $ 点が与えられる。 ### Sample Explanation 1 例えば $ 1 $ 番目のテストケースの $ 3 $ 番目のクエリを考えます。 $ d=3,b=3 $ です。 このとき、以下の方法で合計 $ 18 $ の経験値を得ることが出来て、これが最大です。 - $ 1 $ 日目: $ x=0 $ を選ぶ。 $ 0 $ 円支払って $ A_{1,0}=1 $ の経験値を得る。 - $ 2 $ 日目: $ x=1 $ を選ぶ。 $ 1 $ 円支払って $ A_{2,1}=8 $ の経験値を得る。 - $ 3 $ 日目: $ x=2 $ を選ぶ。 $ 2 $ 円支払って $ A_{3,2}=9 $ の経験値を得る。 ### Constraints - $ 1 \leq T \leq 10^4 $ - $ 1 \leq N \leq 2.5 \times 10^5 $ - $ 1 \leq Q \leq 10^4 $ - $ 0 \leq A_{i,x} \leq 10^9 $ - $ 1 \leq d \leq N $ - $ 0 \leq b \leq 2d $ - 全てのテストケースに対する $ N $ の総和は $ 2.5 \times 10^5 $ 以下 - 全てのテストケースに対する $ Q $ の総和は $ 10^4 $ 以下 - 入力される値は全て整数