Salve ho questo problema:

Esercizio 2. Si scriva in C++ una funzione ricorsiva che riceva un array di interi e la sua dimensione (che si sa essere
sempre PARI) e restituisca VERO se l’array è palindromo “a coppie”. Un array si dice “palindromo a coppie” se è palindromo,
ma rispetto a coppie contigue di elementi, e non a singoli elementi.
Es.:
4 7 5 2 5 2 4 7


Io ho implementato il seguente codice e l'ho rivisto un milione di volte e non capisco dov'è il problema perche mi dovrebbe ristituire È PALINDROMO A COPPIE, invece mi dice di no.

grazie come sempre per l'aiuto

codice:
# include <iostream>
using namespace std;
bool verifica (int [], int ,int );
const int n=8;

int main ()
{
	int a[n]={4,7,5,2,5,2,4,7};
	
	
	
	if (verifica (a,0,n-1))
	cout<<"E PALINDROMO A COPPIE"<<endl;
	else
	cout<<"NON E PALINDROMO A COPPIE";
	
return 0;	
}

bool verifica (int a[], int i,int j)
{
	if (i==n/2-1 && j==n/2)
	return true;
	
	if (a[i] != a[j-1] ||   a[i+1] != a[j])
	return false;
	
	return verifica (a,i+2,j-2);
}