#1111. [CZOJ 一周一测 R13 F] 乃敢与君绝
[CZOJ 一周一测 R13 F] 乃敢与君绝
题目背景
乃敢与君绝,山高水长路。
往事如烟逝,今朝泪满目。
君心若不悔,何故断情愫?
他日若重逢,唯愿共白头。
题目描述
月老有一个长度为 的序列 和一个质数 。
你需要找到序列中一个长度至少为 的子序列。使得该子序列是一个模 意义下的等比数列。如果你找不到这样的子序列,你需要输出 Sad.
,否则输出两行,第一行为 Happy.
,第二行为你选择的子序列的最长的长度。
小 T 有 次机会,只有全答对了他才会真正的开心,如果他不开心你就无法得到这个测试点的分数。
形式化的,每组测试数据,对于序列 和质数 ,判断是否存在长度为 的子序列 ,有定值 满足 $\forall i\in [2,m],b_i\equiv q\times b_{i-1}\pmod p$。如果存在找出最大可能的 。
特殊的日子,特殊的人,特殊的 P1111 的题号。
输入格式
第一行,一个整数 ,表示本测试点的测试数据个数。满足 。
接下来有 组测试数据。
-
每组测试数据第一行是 个整数 。满足 ,。保证 是质数。
-
接下来一行 个正整数,表示序列 。满足 。
保证 ,即所有测试数据的 之和不会超过 。
输出格式
对于每组测试数据,若不存在长度至少为 的子序列,输出 Sad.
,否则输出两行,第一行为 Happy.
,第二行为你选择的子序列的最长的长度。
4
6 1000000007
1 1 2 4 8 16
6 1000000007
597337906 816043578 617563954 668607211 89163513 464203601
5 1000000007
2 4 5 6 8
5 1000000007
2 4 5 6 7
Happy.
5
Sad.
Happy.
3
Sad.
提示
在样例 中,对于第一组测试数据,可以选择子序列 ,此时有 。
对于 的数据,满足 ;
对于 的数据,满足 ;
对于 的数据,满足 ,,。