BITの区間総和 2 : BITの区間総和 JavaScript編(paizaランク A 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
(BITの区間総和について)
問題 6 で行ったインデックス計算の途中で、適宜 BIT_m の値を足すことにより、計算が出来ます。
実際に行ってみましょう。
(問題)
長さ n の配列 A = (A_1, A_2, ..., A_n) が与えられます。Q 個のクエリが与えられるので、順番に処理してください。i (1 ≦ i ≦ Q) 番目のクエリは以下の通りです。
前 t_i 項の和、つまり、A_1 + A_2 + ... + A_{t_i} を求める。
- 入力される値
-
入力は以下のフォーマットで与えられます。
n
A_1 A_2 ... A_n
Q
t_1
t_2
...
t_Q
- 1 行目には 1 つの整数 n が与えられます。
- 2 行目には n 個の整数 A_1, A_2, ..., A_n が与えられます。
- 3 行目には 1 つの整数 Q が与えられます。
- 3 + i (1 ≦ i ≦ Q) 行目には 1 つの整数 t_i が与えられます。
- 入力は合計 3 + Q 行からなり、入力値最終行の末尾に改行を 1 つ含みます。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
標準入力からの値取得方法はこちらをご確認ください
- 期待する出力
答えを Q 行で出力してください。
i (1 ≦ i ≦ Q) 行目には、i 番目のクエリの答えを出力してください。
- 条件
-
すべてのテストケースについて以下の条件を満たします。
- 1 ≦ n ≦ 200000
- 1 ≦ A_i ≦ 10 ^ 9 (1 ≦ i ≦ n)
- 1 ≦ Q ≦ 200000
- 1 ≦ t_i ≦ n (1 ≦ i ≦ Q)
- 入力例1
-
10
3 1 4 1 5 9 2 6 5 3
10
1
2
3
4
5
6
7
8
9
10
問題一覧へ戻る