欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1496B.Max and Mex
Max and Mex
You are given a multiset initially consisting of distinct non-negative integers. A multiset is a set, that can contain some elements multiple times.
You will perform the following operation times:
- Add the element (rounded up) into , where and . If this number is already in the set, it is added again.
Here of a multiset denotes the maximum integer in the multiset, and of a multiset denotes the smallest non-negative integer that is not present in the multiset. For example:
- ;
- .
Your task is to calculate the number of distinct elements in after operations will be done.
Input
The input consists of multiple test cases. The first line contains a single integer () — the number of test cases. The description of the test cases follows.
The first line of each test case contains two integers , (, ) — the initial size of the multiset and how many operations you need to perform.
The second line of each test case contains distinct integers () — the numbers in the initial multiset.
It is guaranteed that the sum of over all test cases does not exceed .
Output
For each test case, print the number of distinct elements in after operations will be done.
Note
In the first test case, , , , . So is added into , and becomes . The answer is .
In the second test case, , , , . So is added into , and becomes . The answer is .
Samples
5
4 1
0 1 3 4
3 1
0 1 4
3 0
0 1 4
3 2
0 1 2
3 2
1 2 3
4
4
3
5
3
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |