#T1263. [GESP202312 五级T1] 小杨的幸运数

[GESP202312 五级T1] 小杨的幸运数

[GESP202312 五级T1] 小杨的幸运数

题目背景

2023 年 12 月 GESP C++ 五级编程第 1 题。

题目描述

小杨认为,所有大于等于 aa 的完全平方数都是他的超级幸运数。

小杨还认为,所有超级幸运数的倍数都是他的幸运数。自然地,小杨的所有超级幸运数也都是幸运数。

对于一个非幸运数,小杨规定,可以将它一直 +1+1,直到它变成一个幸运数。我们把这个过程叫做幸运化。例如,如果 a=4a = 4,那么 44 是最小的幸运数,而 11 不是,但我们可以连续对 1133+1+1 操作,使其变为 44,所以我们可以说,11 幸运化后的结果是 44

现在,小杨给出 NN 个数,请你首先判断它们是不是幸运数;接着,对于非幸运数,请你将它们幸运化。

输入格式

第一行 22 个正整数 a,Na,N

接下来 NN 行,每行一个正整数 xx,表示需要判断(幸运化)的数。

输出格式

输出 NN 行,对于每个给定的 xx,如果它是幸运数,请输出 lucky,否则请输出将其幸运化后的结果。

样例 #1

2 4
1
4
5
9
4
lucky
8
lucky

样例 #2

16 11
1
2
4
8
16
32
64
128
256
512
1024
16
16
16
16
lucky
lucky
lucky
lucky
lucky
lucky
lucky

样例解释

11 虽然是完全平方数,但它小于 aa,因此它并不是超级幸运数,也不是幸运数。将其进行 33+1+1 操作后,最终得到幸运数 44

44 是幸运数,因此直接输出 lucky

55 不是幸运数,将其进行 33+1+1 操作后,最终得到幸运数 88

99 是幸运数,因此直接输出 lucky

数据范围

对于 30%30\% 的测试点,保证 a,x100a,x \leq 100N10N \leq 10

对于 60%60\% 的测试点,保证 a,x106a,x \leq 10^6

对于 100%100\% 的测试点,保证 a1000001a \leq 10000011x10000011 \leq x \leq 1000001N2×105N \leq 2 \times 10^5