#722. 苹果树环
苹果树环
题目描述
有 棵苹果树按环形排列。每棵树恰好结一个苹果,第 棵树上的苹果美丽值为 。你从第 棵树前开始。
你在每棵树处可以选择吃掉该树的苹果或跳过该苹果。做出选择后你会移动到下一棵树:对 ,从第 棵移到第 棵;从第 棵则回到第 棵。你会无限次按此顺序循环经过这些树。
但有一个限制:你只能在苹果的美丽值 严格大于 上一次吃到的苹果的美丽值时吃该苹果。比如 ,若你在第 棵吃了苹果(美丽值 ),那么第 、第 棵的苹果都不能吃(),但第 棵的苹果可以吃()。
注意:你可以在首次遇到某个苹果时选择跳过,稍后在后续循环中再决定是否吃该苹果。
请你在所有策略中选择最优策略,计算你最多能吃到多少个苹果。
输入格式
第一行包含一个整数 (),表示测试用例个数。接下来描述 个测试用例。
每个测试用例包含两行:
- 第一行包含一个整数 (),表示苹果树的数量。
- 第二行包含 个整数 (),表示每棵树上苹果的美丽值。
输出格式
对每个测试用例,输出一行,包含一个整数——你最多能吃到的苹果数量。
样例输入
3
4
2 2 2 2
5
1 4 5 1 2
6
5 4 2 1 2 3
样例输出
1
4
5
说明
样例解释
- 在第一个测试用例中,所有苹果美丽值相同,无论先吃哪个,之后都不能再吃其它,因此最多吃 个。
- 在第二个测试用例中,一个可行且最优的操作序列为:在第 棵吃(美丽 )、第 棵吃(美丽 )、随后在下一轮第 棵吃(美丽 )、第 棵吃(美丽 ),共吃 个苹果。可以证明无法吃到全部 个。