Starter-164 construct permutation

include <bits/stdc++.h>
using namespace std;
bool isokay(int arr,int i,int j,int n)
{
// int startindex=i;
int currsum=0;
if(i==j)
{
currsum=arr[i];
i–;
j++;
}
while(i>=0 && j<n)
{
currsum+=arr[i]+arr[j];
if(currsum%(n+1)==0)
{
// cout<<startindex<<" “<<i<<” "<<j;
return false;
}

        i--;
        j++;
    }
    return true;

}

int main() {
int t;
cin>>t;
while(t–)
{
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++)
{
arr[i]=i+1;
}
bool flag=1;
for(int i=0;i<n;i++)
{
if((isokay(arr,i,i,n))&&(isokay(arr,i,i+1,n)))
continue;
else
{
flag=0;
break;
}
}
if(flag==1)
{
for(int i=0;i<n;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}
else
{
cout<<-1<<endl;
}
}

}

My code is running fine on custom test cases. But it failed in the second one itself. Can anyone help me spot where was I going wrong?