Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int BinarySearch(int A[],int right ,int key)
- {
- int left=1,mid;
- while (left<=right)
- {
- mid=left+(right-left)/2;
- if (key<A[mid]) right=mid-1;
- else if (key>A[mid]) left=mid+1;
- else return mid;
- }
- return -1;
- }
- using namespace std;
- int main()
- {
- int N,M,ind;
- cin>>N>>M;
- int *a=new int[N+1];
- int *b=new int[M+1];
- for (int i=1;i<=N;i++)
- {
- cin>>a[i];
- }
- for (int i=1;i<=M;i++)
- {
- cin>>b[i];
- }
- for (int i=1;i<=M;i++)
- {
- ind=BinarySearch(a,N,b[i]);
- if (ind==-1)
- cout<<0<<endl;
- else
- {
- while(ind>1 && a[ind]==a[ind-1])
- ind--;
- cout<<ind<<" ";
- while(ind<N && a[ind]==a[ind+1])
- ind++;
- cout<<ind<<endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement