首先我们需要对d∗id*_id∗i 进行预处理,求得他在一个星期当中的实际变化数值,通过取d∗id_*id∗ i mod A+BA+BA+B即可得出。
随后可以对其进行升序排列,去除重复项后得到序列E=E∗1,E∗2,...,EkE = {E*_1, E_*2,..., E_k}E=E∗1 ,E∗ 2,...,Ek 。
如果答案为Yes,那么序列EEE一定满足: 存在一个i(1≤i≤k)i(1 \leq i \leq k)i(1≤i≤k),使得(E∗i+1−E∗i)(E*_{i+1} - E_*i)(E∗i+1 −E∗ i) mod (A+B)>B(A + B) > B(A+B)>B , 边界值E∗k+1=E∗1E*_{k + 1} = E_*1E∗k+1 =E∗ 1。
我们可以尝试着枚举iii的取值,若满足即可输出Yes,否则输出No。
时间复杂度为:O(nlogn)O(nlogn)O(nlogn)