Pivot of rotated and sorted array

#include
using namespace std;
int pivot_element(int a[],int n){
int s=0;
int e=n-1;
int ans=-1;
while(s<=e){
int mid=(s+e)/2;
if(mid>s&&a[mid-1]>a[mid]){
ans=mid-1;
return ans;
}
if(mid<e&&a[mid+1]>a[mid]) {
ans=mid;
return ans;
}
if(a[s]>a[mid]){
e=mid-1;
}
else
s=mid+1;
}
return ans;
}
int main(){
int n;
cin>>n;
int *a=new int[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<pivot_element(a,n);
}
whats wrong in this code?