問題概要 atcoder.jp 始めの1つの値を決めた後、毎秒いま持ってる全ての値に対して、それより真に小さい値を手持ちに加える。最終的に与えられた配列A内の2^N個の数と一致させることができるか。 解法 現在持ってる値の配列をcurと呼ぶことにする。 配列A内で最大である要素を、一番最初の値にしなければいけないのは明らか。 さらに、cur[i]から生み出す値は、 Aの中でまだcurから生み出されていない値であってかつ、cur[i]より小さい値のうち最大のものが最適。これは、数が大きければ大きいほど、後で生み出せる数の範囲が大きくなるため。 したがって、貪欲による解法でOK。 ちなみに、cur…