atcoder#ABC140F. [ABC140F] Many Slimes
[ABC140F] Many Slimes
题目描述
匹のスライムがいます。
あなたはこのスライムの「体力」を自由な整数の値に設定できます。
スライムは 秒ごとに、自分より真に小さい整数の体力をもつスライムを 匹生成することで増殖していきます。生成されるスライムの体力は、スライムごとに毎回自由に決めることができます。最初の増殖はこれから 秒後に起こります。
最初のスライム、および生成されるスライムの体力を適切に定めることで、これから 秒後に存在する 匹のスライムの体力の集合を集合 に一致させることができるか判定してください。
ここで は 要素からなる重複を認める整数の集合で、その要素は です。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
最初のスライム、および生成されるスライムの体力を適切に定めることで、 秒後に存在する 匹のスライムの体力の集合を集合 に一致させることができるなら Yes
を、できないなら No
を出力せよ。
题目大意
你有一个史莱姆,你可以给他的健康值设置成任意整数,每个史莱姆每秒必然产生一个健康值严格小于它的史莱姆,这个健康值也由你来指定。 给定大小为2^n的集合S,求是否能够分裂出该集合。
2
4 2 3 1
Yes
2
1 2 3 1
Yes
1
1 1
No
5
4 3 5 3 1 2 7 8 7 4 6 3 7 2 3 6 2 7 3 2 6 7 3 4 6 7 3 4 2 5 2 3
No
提示
制約
- 入力は全て整数である。
Sample Explanation 1
秒後に存在するスライムの体力の集合を に一致させる一例を示します。 まず最初のスライムの体力を に設定します。 最初のスライムに体力が のスライムを生成させることで、 秒後に存在するスライムの体力を とできます。 そして最初のスライムに体力が の、 匹目のスライムに体力が のスライムを生成させることで、 秒後に存在するスライムの体力を とできます。これは集合として に一致しています。
Sample Explanation 2
は同じ整数を複数含むこともあります。