CF1610B.Kalindrome Array
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
An array [b1,b2,…,bm] is a palindrome, if bi=bm+1−i for each i from 1 to m . Empty array is also a palindrome.
An array is called kalindrome, if the following condition holds:
- It's possible to select some integer x and delete some of the elements of the array equal to x , so that the remaining array (after gluing together the remaining parts) is a palindrome.
Note that you don't have to delete all elements equal to x , and you don't have to delete at least one element equal to x .
For example :
- [1,2,1] is kalindrome because you can simply not delete a single element.
- [3,1,2,3,1] is kalindrome because you can choose x=3 and delete both elements equal to 3 , obtaining array [1,2,1] , which is a palindrome.
- [1,2,3] is not kalindrome.
You are given an array [a1,a2,…,an] . Determine if a is kalindrome or not.
输入格式
The first line contains a single integer t ( 1≤t≤104 ) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single integer n ( 1≤n≤2⋅105 ) — the length of the array.
The second line of each test case contains n integers a1,a2,…,an ( 1≤ai≤n ) — elements of the array.
It's guaranteed that the sum of n over all test cases won't exceed 2⋅105 .
输出格式
For each test case, print YES if a is kalindrome and NO otherwise. You can print each letter in any case.
输入输出样例
输入#1
4 1 1 2 1 2 3 1 2 3 5 1 4 4 1 4
输出#1
YES YES NO YES
说明/提示
In the first test case, array [1] is already a palindrome, so it's a kalindrome as well.
In the second test case, we can choose x=2 , delete the second element, and obtain array [1] , which is a palindrome.
In the third test case, it's impossible to obtain a palindrome.
In the fourth test case, you can choose x=4 and delete the fifth element, obtaining [1,4,4,1] . You also can choose x=1 , delete the first and the fourth elements, and obtain [4,4,4] .