Sie sind auf Seite 1von 1

// MINIMUM ELEMNT IN A ROTAED AND SORTED ARRAY

#include <iostream>
using namespace std;

int main() {
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
int beg=0,index=-1;
int end=n-1;
int mid=(beg+end)/2;
while(beg<=end){
if(n==1){
index=0;
break;
}
if(arr[mid]<arr[mid-1]){
index=mid;
break;
}
else if(arr[mid]>arr[mid+1]){
index=mid+1;
break;
}
if(arr[mid]>arr[end]){
beg=mid+1;
mid=(beg+end)/2;
}
else if(arr[mid]<arr[end]){
end=mid-1;
mid=(beg+end)/2;
}
}
cout<<arr[index]<<endl;
}
return 0;
}

Das könnte Ihnen auch gefallen