問題一覧 > 通常問題

No.1890 Many Sequences Sum Queries

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 56
作問者 : matcharate12 / テスター : Luke02561
1 ProblemId : 7225 / 自分の提出
問題文最終更新日: 2022-04-04 19:48:10

追記

4/4 17:10現在 : 制約の文字を間違えておりました。 n ではなく N です。
4/4 19:45現在 : 質問が来ていたので、Ai の制約を追加しました。Ai1 以上の整数であることに注意してください。

問題文

長さ N の数列 A が与えられます。また空の数列 B があります。
全ての i (1iN) について、数列 A に対して i 番目の要素 Ai において 1,,Ai の要素のみでこの順で構成される数列 Pi を作り、Pi に含まれる要素をこの順に全て B に挿入します。この操作の後、B に対して何らかの変更は一切行ってはいけません。
その操作の後に Q 個のクエリが与えられます。クエリの内容は以下のようになっているので、クエリに対する答えを順に全て報告して下さい。

  • i (1iQ) 個目のクエリでは整数 Si が与えられるので、k=1n BkSi を満たすような n の最小値を求めて下さい。ただし、そのような n が存在しないならその旨を報告して下さい。

入力

N Q
A1 A2  AN
S1
S2

SQ

  • 1N100
  • 1Q105
  • 1i=1N Ai105
  • 1Ai
  • 1Si109

出力

Q 行出力してください。
i (1iQ) 行目には i 個目のクエリの答えを出力してください。ただし、条件を満たす最小値が存在しないなら -1 を出力してください。

サンプル

サンプル1
入力
4 3
1 2 3 4
4
10
25
出力
3
6
-1

A1 についての数列は P1=(1)A2 についての数列は P2=(1,2)A3 については P3=(1,2,3)A4 については P4=(1,2,3,4) となり、これを順にそれぞれ挿入していくと B=(1,1,2,1,2,3,1,2,3,4) となります。

1 個目のクエリに対しては 1+1+2=4 となり、n=3 の時に初めて条件を満たします。
2 個目に対しては 1+1+2+1+2+3=10 となり n=6 の時に初めて条件を満たします。
3 個目に対しては数列 B 中の要素の総和が 25 未満であるため、そのような n は存在しません。

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