様々な解法があると思いますが、ここではその一つを紹介します。
小さいものから順に数を確定させていきます。
各について、現在がまだ確定していないような最小の正整数をとします。次に確定させる数の候補はであるのでを確定させ、としながら個の数が確定するまで繰り返していけばよいです。
次に確定させる数の候補を優先度付きキュー(ヒープ)で管理しながら確定させていきます。 入力例1だと優先度付きキューの中身は以下のようになります。