why it is giving WA on test case 1?
#include <bits/stdc++.h>
using namespace std;
void input(long long a[],int n)
{
for(int i=0;i<n;i++)
cin>>a[i];
}
#define pb push_back
#define yes cout<<"YES"<<endl;
#define no cout<<"NO"<<endl;
#define ull unsigned long long
#define ll long long
int dr[8]={2,2,-2,-2,1,-1,1,-1};
int dc[8]={1,-1,1,-1,2,2,-2,-2};
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t--)
{
ll n,k;
cin>>n>>k;
ll a[n];
input(a,n);
if(n==1)
{
cout<<"YES"<<endl;
}
else
{
ll preval=a[0];
int lf=0,rf=0;
ll leftval=0,rightal=0;
int flag=0;
for(int i=1;i<n;i++)
{
if(a[i]<preval && lf==0)
{
rightal=preval;
preval=a[i];
rf=1;///right flag initialized;
}
else if(a[i]>preval && rf==0)
{
leftval=preval;
preval=a[i];
lf=1;//left flag initialized;
}
else if( (a[i]<preval && lf==1)&& a[i]>leftval)
{
rightal=preval;
preval=a[i];
}
else if((a[i]>preval && rf==1) && a[i]<rightal)
{
leftval=preval;
preval=a[i];
}
else
{
flag=1;
}
}
if(flag)cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}
return 0;
}