UdemyCourse icon indicating copy to clipboard operation
UdemyCourse copied to clipboard

BinarySearchSpoj

Open ajmalhsn opened this issue 5 years ago • 0 comments

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 using namespace std;

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;
}

}

ajmalhsn avatar Jul 11 '19 13:07 ajmalhsn