Răspuns:
#include <iostream>
using namespace std;
int toate_egale_divImp(int v[], int i, int s) {
if (i == s) {
if (v[s] == v[1]) return 1;
return 0;
}
int d1 = toate_egale_divImp(v, i, (i + s) / 2);
int d2 = toate_egale_divImp(v, (i + s) / 2 + 1, s);
return d1 + d2;
}
int main()
{
int n, v[501],i;
cin>>n;
for(i=1;i<=n;i++)cin>>v[i];
if(toate_egale_divImp(v,1,n)==n)
cout<<"DA";
else
cout<<"NU";
return 0;
}
Explicație:
m-am inspirat din problemele tale anterioare