#t388. 最长下降子序列

最长下降子序列

滑翔翼

题目描述

一名滑翔者的滑翔翼动力装置损坏,只能向下滑翔,即只能从较高的建筑滑翔到较低的建筑。

城市中一共有 NN 幢建筑排成一条直线,每幢建筑的高度互不相同。初始时,他可以选择任意一幢建筑的顶端作为起点,并选择一个逃跑方向,但过程中不能改变方向。他希望在下降过程中尽可能多地经过不同建筑的顶部,以减小落地的冲击。

请问他最多可以经过多少幢不同建筑的顶部(包含出发的那一幢)?

输入格式

输入数据第一行一个整数 KK(K<100K<100),表示测试数据组数。

每组数据包含两行:第一行一个整数 NN(N<100N<100),表示建筑数量;第二行 NN 个互不相同的整数,依次表示各幢建筑的高度 hh(0<h<100000<h<10000),按建筑的排列顺序给出。

输出格式

对于每组数据,输出一行一个整数,表示最多可以经过的建筑数量。

样例输入

3
8
300 207 155 299 298 170 158 65
8
65 158 170 298 299 155 207 300
10
2 1 3 4 5 6 7 8 9 10

样例输出

6
6
9