CF659C Tanya and Toys
题目描述
最近,在 Berland 新上市了一套玩具收藏。这套收藏包含 $10^{9}$ 种不同类型的玩具,编号为 $1$ 到 $10^{9}$。新系列中第 $i$ 种类型的玩具售价为 $i$ 个 bourles。
Tania 成功地从新系列收集了 $n$ 种不同类型的玩具,编号分别为 $a_1,a_2,\dots,a_n$。今天是 Tanya 的生日,她的妈妈决定为女儿买礼物,花费不超过 $m$ 个 bourles。Tanya 可以从新系列中选择若干种尚未拥有的不同类型的玩具作为礼物。当然,她不希望自己已拥有的类型再重复获得。
Tanya 希望在最终自己的玩具收藏中,拥有尽可能多种不同类型的玩具。但新系列的类型太多,Tanya 年纪又太小,因此她请求你帮助她完成这个目标。
输入格式
第一行包含两个整数 $n$($1 \leq n \leq 100000$)和 $m$($1 \leq m \leq 10^9$),分别表示 Tanya 已经拥有的玩具类型数量和她妈妈愿意为新玩具花费的最大 bourles 数。
第二行包含 $n$ 个互不相同的整数 $a_1,a_2,\dots,a_n$($1 \leq a_i \leq 10^9$),表示 Tanya 已经拥有的玩具类型编号。
输出格式
第一行输出一个整数 $k$,即 Tanya 可以再添置的新玩具类型的最大数量,前提是选中的新玩具类型总价不超过 $m$ 且类型不重复。
第二行输出 $k$ 个不同的空格分隔的整数 $t_1,t_2,\dots,t_k$($1 \leq t_i \leq 10^9$),表示 Tanya 应该选择的新玩具类型编号。
如果有多种方案,输出任意一种均可。$t_i$ 的顺序可以任意。
说明/提示
在第一个样例中,妈妈应该为 Tanya 购买两种玩具:第 $2$ 种类型和第 $5$ 种类型的玩具。在花费 $7$ 个 bourles 的情况下(假设类型 $1$、$3$、$4$ 已经买到),无法购买更多两种或以上的玩具。
由 ChatGPT 5 翻译