#include <iostream>
#include <vector>
using namespace std;
int maxLengthMountain(vector<int>& h) {
int n = h.size();
if (n < 2) {
return n;
}
int max_len = 1;
int left = 0;
while (left < n) {
int right = left;
// 寻找非递减序列
while (right + 1 < n && h[right] < h[right + 1]) {
right++;
}
int mid = right;
// 寻找非递增序列
while (right + 1 < n && h[right] > h[right + 1]) {
right++;
}
// 若存在山峰(mid > left 且 right > mid),则计算长度
if (mid > left && right > mid) {
max_len = max(max_len, right - left + 1);
}
left++;
}
return max_len;
}
int main() {
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
vector<int> h(n);
for (int i = 0; i < n; i++) {
cin >> h[i];
}
int max_len = 1;
// 不修改的情况
max_len = max(max_len, maxLengthMountain(h));
// 尝试修改每一个元素
for (int i = 0; i < n; i++) {
int original = h[i];
// 尝试将当前元素修改为不同的值
for (int j = 0; j < n; j++) {
if (i != j) {
h[i] = h[j];
max_len = max(max_len, maxLengthMountain(h));
}
}
h[i] = original;
}
cout << max_len << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1heExlbmd0aE1vdW50YWluKHZlY3RvcjxpbnQ+JiBoKSB7CiAgICBpbnQgbiA9IGguc2l6ZSgpOwogICAgaWYgKG4gPCAyKSB7CiAgICAgICAgcmV0dXJuIG47CiAgICB9CiAgICBpbnQgbWF4X2xlbiA9IDE7CiAgICBpbnQgbGVmdCA9IDA7CiAgICB3aGlsZSAobGVmdCA8IG4pIHsKICAgICAgICBpbnQgcmlnaHQgPSBsZWZ0OwogICAgICAgIC8vIOWvu+aJvumdnumAkuWHj+W6j+WIlwogICAgICAgIHdoaWxlIChyaWdodCArIDEgPCBuICYmIGhbcmlnaHRdIDwgaFtyaWdodCArIDFdKSB7CiAgICAgICAgICAgIHJpZ2h0Kys7CiAgICAgICAgfQogICAgICAgIGludCBtaWQgPSByaWdodDsKICAgICAgICAvLyDlr7vmib7pnZ7pgJLlop7luo/liJcKICAgICAgICB3aGlsZSAocmlnaHQgKyAxIDwgbiAmJiBoW3JpZ2h0XSA+IGhbcmlnaHQgKyAxXSkgewogICAgICAgICAgICByaWdodCsrOwogICAgICAgIH0KICAgICAgICAvLyDoi6XlrZjlnKjlsbHls7DvvIhtaWQgPiBsZWZ0IOS4lCByaWdodCA+IG1pZO+8ie+8jOWImeiuoeeul+mVv+W6pgogICAgICAgIGlmIChtaWQgPiBsZWZ0ICYmIHJpZ2h0ID4gbWlkKSB7CiAgICAgICAgICAgIG1heF9sZW4gPSBtYXgobWF4X2xlbiwgcmlnaHQgLSBsZWZ0ICsgMSk7CiAgICAgICAgfQogICAgICAgIGxlZnQrKzsKICAgIH0KICAgIHJldHVybiBtYXhfbGVuOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBUOwogICAgY2luID4+IFQ7CiAgICB3aGlsZSAoVC0tKSB7CiAgICAgICAgaW50IG47CiAgICAgICAgY2luID4+IG47CiAgICAgICAgdmVjdG9yPGludD4gaChuKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBjaW4gPj4gaFtpXTsKICAgICAgICB9CiAgICAgICAgaW50IG1heF9sZW4gPSAxOwogICAgICAgIC8vIOS4jeS/ruaUueeahOaDheWGtQogICAgICAgIG1heF9sZW4gPSBtYXgobWF4X2xlbiwgbWF4TGVuZ3RoTW91bnRhaW4oaCkpOwogICAgICAgIC8vIOWwneivleS/ruaUueavj+S4gOS4quWFg+e0oAogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGludCBvcmlnaW5hbCA9IGhbaV07CiAgICAgICAgICAgIC8vIOWwneivleWwhuW9k+WJjeWFg+e0oOS/ruaUueS4uuS4jeWQjOeahOWAvAogICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgaWYgKGkgIT0gaikgewogICAgICAgICAgICAgICAgICAgIGhbaV0gPSBoW2pdOwogICAgICAgICAgICAgICAgICAgIG1heF9sZW4gPSBtYXgobWF4X2xlbiwgbWF4TGVuZ3RoTW91bnRhaW4oaCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGhbaV0gPSBvcmlnaW5hbDsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBtYXhfbGVuIDw8IGVuZGw7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==