Huawei OD マシンテスト - ショッピング (Java & JS & Python)

トピックの説明

ストアには N 個のユニークなアイテムがあり、各アイテムには価格があり、i 番目のアイテムの価格は ai です。

購入計画では、N 個のアイテム (少なくとも 1 個) から任意のアイテムを選択して購入でき、コストは価格の合計です。

ここで、すべての購入プランの中で最も安価な上位 K プランを見つけて、これらのプランのコストを出力する必要があります。

2 つのスキームで選択される商品セットの少なくとも 1 つが異なる場合、それらは異なるスキームとみなされ、同じコストの 2 つのスキームが存在する可能性があります。

説明を入力してください

入力データは 2 行で構成されます。

  • 最初の行には、スペースで区切られた 2 つの整数 N、K が含まれています。それぞれ、取得する必要のある商品の数とコストの数を表します。1 ≤ N ≤ 10000、1 ≤ K ≤ min(2^N - 1, 100000)
  • 2 行目には、スペースで区切られた N 個の整数 a1、a2、...、an が含まれています。N個の商品の価格を示します。1 ≤ a1 ≤ a2 ≤ ... ≤ an ≤ 10000

出力の説明

K 行をコストの昇順で、1 行につき 1 つの整数で出力します。購入計画のコストを、コストの前に最小の K を付けて示します。

入力 5 6
1 1 2 3 3
出力

おすすめ

転載: blog.csdn.net/qfc_128220/article/details/131605179