最长子序列
题号:NC20844
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

        在一个给定的数值序列中,寻找子序列,对于,满足以下条件:



        其中的意思为对于任意大于等于 1 小于 m 的整数 i 。为向上取整,结果为大于等于 s 的最小整数。为向下取整,结果为小于等于 s 的最大整数。

        求满足条件的子序列的最大长度。

输入描述:

第一行输入T(1≤T≤10),代表数据组数。

对于每组数据,第一行输入n(1≤n≤10000),x(n≤x≤5*n),y(1≤y≤5),第二行输入n个整数(-1000000≤aj≤1000000,1≤j≤n),代表数值序列。

输出描述:

对于每组数据,输出一个整数,为满足条件的子序列的最大长度。
示例1

输入

复制
2
1 1 1
1
5 5 1
1 4 3 9 16

输出

复制
1
3

说明

对于第1组数据,1为满足条件的最长子序列。

对于第2组数据,1 9 16和4 9 16皆为满足条件的最长子序列。

备注:

建议使用C/C++解答本题。