P11013 「ALFR Round 4」C 粉碎

题目描述

斌宝在玩纸牌。起初,他有 $n$ 张牌,第 $i$ 张牌的点数为 $A_i$。 斌宝会重复执行 $n$ 轮以下操作,第 $i$ 轮操作如下: 1. 斌宝需要选择将第 $i$ 张牌置于牌堆的最左边或者最右边; 2. 若牌堆中存在两张点数相同的牌,则斌宝会**立即**将两张牌之间的所有牌从牌堆取出,扔进碎纸机(包括这两张牌本身)。 总是会先执行插入操作再执行粉碎操作。 牌堆初始为空。 你需要告诉斌宝他最多能粉碎多少张牌。

输入格式

第一行,一个整数 $T$,表示数据组数。 对于每组数据: 第一行一个整数 $n$。 第二行 $n$ 个数表示 $A_1,A_2,A_3,\cdots,A_n$。

输出格式

对于每组数据,输出斌宝最多能粉碎多少张牌。

说明/提示

### 样例解释 初始牌堆:$\{\}$ 放入 $1$:$\{1\}$; 放入 $3$:$\{1,3\}$; 放入 $3$:$\{3,1,3\}$,然后粉碎:$\{\}$; 放入 $1$:$\{1\}$; 放入 $2$:$\{1,2\}$; 放入 $1$:$\{1,2,1\}$,然后粉碎:$\{\}$; 放入 $2$:$\{2\}$; 放入 $2$:$\{2,2\}$,然后粉碎:$\{\}$; 所有牌均被粉碎。 ### 数据范围 | 子任务 | 分值 | 限制 | | :----------: | :----------: | :----------: | | $0$ | $20$ | $n\le 20$| | $1$ | $20$ | $T=1,n=10^3$ 且 $A_i$ 在 $[1,n]$ 内随机生成 | | $2$ | $40$ | $n\le10^3$ | | $3$ | $20$ | - | 对于 $100\%$ 的数据,$1\le T\le5$,$1\le n\le5\times10^5$,$1\le A_i\le n$。