UdemyCourse
UdemyCourse copied to clipboard
BinarySearchSpoj
Why do we use only printf or scanf when I tried using cin and cout the SPOJ said time limit exceeded. It would be beneficial if you could answer about it. Thanks for the well-designed course
#include
int main(){ int N,Q; int left=0; int right=0; int mid=0; cin>>N>>Q; for(int i=0;i<N;i++) cin>>A[i]; int X; for(int i=0;i<Q;i++){ cin>>X; left=0; right = N-1; mid = (left+right)/2; int result = -1;
while(left<=right){
if(A[mid] == X){
result = mid;
right=mid-1;
mid=(left+right)/2;
}
else if(A[mid]>X){
right=mid-1;
mid=(left+right)/2;
}
else {
left=mid+1;
mid=(left+right)/2;
}
}
cout << result<<endl;
}
}