http://acm.hdu.edu.cn/showproblem.php?pid=3833
/************************************************ * Author :Powatr * Created Time :2015-9-2 13:38:52 * File Name : ************************************************/ #include <cstdio> #include <algorithm> #include <iostream> #include <sstream> #include <cstring> #include <cmath> #include <string> #include <vector> #include <queue> #include <deque> #include <stack> #include <list> #include <map> #include <set> #include <bitset> #include <cstdlib> #include <ctime> using namespace std; #define lson l, mid, rt << 1 #define rson mid + 1, r, rt << 1 | 1 typedef long long ll; const int MAXN = 1e5 + 10; const int INF = 0x3f3f3f3f; const int MOD = 1e9 + 7; int a[MAXN]; int _hash[MAXN]; int main(){ int T; int n; for(scanf("%d", &T); T--; ){ scanf("%d", &n); memset(_hash, 0, sizeof(_hash)); for(int i = 1; i <= n; i++){ scanf("%d", &a[i]); _hash[a[i]] = i; } int flag = 0; for(int i = 1; i <= n; i++){ for(int j = i + 1; j <= n; j++){ int sum = a[i] + a[j]; if(sum % 2 == 1) continue; sum /= 2; if(_hash[sum] > i && _hash[sum] < j){ flag = 1; break; } } if(flag) break; } printf("%s ", flag ? "Y" : "N"); } return 0; }