可以举例子发现最长的good是4,超过4不可能是good数组
#include<bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 9;
int t, n;
int a[maxn];
int check(int x, int y)
{
for(int i = x; i <= y; ++i)
for(int j = i + 1; j <= y; ++j)
for(int k = j + 1; k <= y; ++k)
if(a[j]>=min(a[k],a[i]) && a[j] <= max(a[k],a[i]))
return 0;
return 1;
}
void work()
{
scanf("%d", &n);
for(int i=1;i<=n;++i)scanf("%d", &a[i]);
int ans = n * 2 - 1;
for(int i = 3; i <= 4; ++i)
for(int j = 1; j + i - 1 <= n; ++j)
ans += check(j,j+i-1);
printf("%d\n", ans);
}
int main()
{
cin >> t;while(t--)
work();
return 0;
}