(問題 14)配列 A の先頭から K 番目までの和 Objective-C編(paizaランク A 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
(問題)
長さ N の配列 A が与えられます。Q 個のクエリが与えられるのでそれぞれのクエリを求めてください。i (1 ≦ i ≦ Q) 番目のクエリは以下の通りです。
初めて配列 A の先頭から K 番目までの和が X_i 以上になる K を求める。そのような K がなければ、-1 を出力する。
- 入力される値
-
入力は以下のフォーマットで与えられます。
N
A_1 A_2 ... A_N
Q
X_1
X_2
...
X_Q
1 行目には 1 つの整数 N が与えられます。
2 行目には N 個の整数 A_1,A_2,...,A_N が与えられます。
3 行目には 1 つの整数 Q が与えられます。
3 + i (1 ≦ i ≦ Q) 行目には 1 つの整数 X_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 ≦ X_i ≦ 10 ^ 18 (1 ≦ i ≦ Q)
- 入力例1
-
10
1 5 7 9 10 12 3 5 1 7
10
1
3
5
12
14
30
35
45
55
100
問題一覧へ戻る