当前位置:首页|资讯

Nocoder 又是一年毕业季

作者:您是打尖儿还是住店呢发布时间:2024-10-08

链接:https://ac.nowcoder.com/acm/problem/275683
来源:牛客网
题目描述                     

又是一年一度的毕业季,一群学生准备去拍摄毕业照。

具体来说,一共有 n 个同学共同参与拍照,第 ii 个学生两次眨眼的时间间隔为 ai 。在拍照开始前,我们可以认为所有人在第 0 秒都眨了一次眼。


由于调整相机需要一定的时间,因此在最初的2秒内不能进行拍照(需要保证拍照的时刻 x≥2\mathrm{x \ge 2}x2)。请计算,为了确保每个人的眼睛都处于睁开状态,至少需要等待多少秒后才能进行拍照。

输入描述:


第一行给出一个整数 T(1T5×104) ,表示数据组数。

对于每组测试数据,第一行给出一个整数 n(1≤n≤2×105,∑n≤2×105)\mathrm{n}(\mathrm{1 \le n \le 2\times 10^5},\mathrm{\sum n \le 2\times 10^5})n(1n2×105,n2×105),表示总人数。第二行给出 n\mathrm{n}n 个整数 ai(2≤ai≤109)\mathrm{a_i}(\mathrm{2 \le a_i \le 10^9})ai(2ai109),依次表示每个人两次眨眼的间隔时间。

                                                                           

输出描述:

每组测试数据输出一个整数,表示最小等待时间。

                                                                           

示例1

输入

2 4 6 5 

6 2 5 3 2333333 

11 4 5 14 19 19 8 10                            

输出

372

----

一开始以为是差分数组,实际是求这些数中最小的素数,

没有包含在这些数中的。

先欧式筛找到所有素数。然后把元素放到set中,找最小的没在set中的素数,找到返回即可。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1