8
2025-05-18 22:01:16
发布于:山西
0阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;
bool hasArithmeticSubsequence(const vector<int>& arr) {
int n = arr.size();
if (n < 3) return false;
for (int j = 1; j < n - 1; ++j) {
unordered_set<int> left;
for (int i = 0; i < j; ++i) {
left.insert(arr[i]);
}
for (int k = j + 1; k < n; ++k) {
int required = 2 * arr[j] - arr[k];
if (left.count(required)) {
return true;
}
}
}
return false;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int N;
cin >> N;
vector<int> arr(N);
for (int i = 0; i < N; ++i) {
cin >> arr[i];
}
if (hasArithmeticSubsequence(arr)) {
cout << "Y\n";
} else {
cout << "N\n";
}
}
return 0;
}
这里空空如也
有帮助,赞一个