atcoder#AGC062C. [AGC062C] Mex of Subset Sum

[AGC062C] Mex of Subset Sum

配点 : 800800

問題文

長さ NN の整数列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N) が与えられます。

以下の条件を満たす正整数 XX を小さいほうから順に KK 個求めてください。

  • AA の空でない(連続とは限らない)部分列であって、要素の和が XX であるものが存在しない

制約

  • 1N601 \leq N \leq 60
  • 1K10001 \leq K \leq 1000
  • 1Ai10151 \leq A_i \leq 10^{15}
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられます。

NN KK

A1A_1 A2A_2 \dots ANA_N

出力

条件を満たす KK 個の正整数を昇順に、空白区切りで出力してください。

3 3
1 2 5
4 9 10

AA の部分列としては (1),(2),(1,2),(5),(1,5),(2,5),(1,2,5)(1),(2),(1,2),(5),(1,5),(2,5),(1,2,5) が考えられ、要素の和はそれぞれ 1,2,3,5,6,7,81,2,3,5,6,7,8 です。よって X=1,2,3,5,6,7,8X=1,2,3,5,6,7,8 に対しては、要素の和が XX であるような AA の部分列が存在します。

一方 X=4,9,10X=4,9,10 に対しては、要素の和が XX であるような AA の部分列は存在しません。

20 10
324 60 1 15 60 15 1 60 319 1 327 1 2 60 2 345 1 2 2 15
14 29 44 59 74 89 104 119 134 149