why my solution is wrong? for jancookoff2022 merged lis question

#include<bits/stdc++.h>

using namespace std;

#define ll long long

#define mod 1000000007

#define vi vector

#define vvi vector

#define pii pair<int,int>

#define vii vector

#define fora(i,a,b) for(ll i=a;i<b;i++)

#define fors(i,a,b) for(ll i=a;i<b;i–)

#define ff first

#define ss second

#define setBits(x) builtin_popcount(x)

const int N=1e5+2, MOD=1e9+7;

#define IOS ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);

//------------------------------------------------------------

int m,n;

ll fastmodexp(ll a,ll b)

{

    ll res=1;

while(b>0){

    if(b&1){

        res=(res*a)%mod;

    }

    a=(a*a)%mod;

    b=b>>1;

}

return res;

}

bool ispowerof2(int x)

{

return (!(x&(x-1)));

}

int binarysearch(vector &arr,int z,int l,int r)

{

//printf("&\n");

int mid=(l+r)/2;

if(arr[mid]>z)

{

    r=mid-1;

    if(arr[r]<z || r==-1)

    return r+1;

    else

    return binarysearch(arr,z,l,r);

}

else if(arr[mid]<z)

{

    l=mid+1;

    if(arr[l]>z || l==m*n)

    return l;

    else

    return binarysearch(arr,z,l,r);

}

else

{

    return mid;

}

}

float min(float op,float b)

{

return op>b?b:op;

}

bool ispresent(int i, vector &arr)

{

int k=count(arr.begin(),arr.end(),i);

if(k>0)

return 1;

else

return 0;

}

//------------------------------------------------------------------------------------------------------------------------------

int LIS(int *a,int size)

{

int cnt=1;

int pre=0;

for(int i=0;i<size-1;i++)

{

    if(a[i]<=a[i+1])

    cnt++;

    else{

        pre=max(cnt,pre);

        cnt=1;

    }

}

pre=max(cnt,pre);

//cout<<pre<<"\n";

return pre;

}

void solve()

{

int n,m;

cin>>n>>m;

int a[n];

int b[m];

for(int i=0;i<n;i++)

cin>>a[i];



for(int i=0;i<m;i++)

cin>>b[i];



cout<<LIS(&a[0],n)+LIS(&b[0],m);

}

//------------------------------------------------------------------------------------------------

int main()

{

IOS

int t;

cin>>t;

while(t--)

{

    solve();

    cout<<"\n";

}

}

Because you are calculating Longest Non Decreasing SUBARRAY and not SUBSEQUENCE.

hmm yes i got that thanks