Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # include <iostream>
- # include <cmath>
- using namespace std;
- long long a[100001+10],b[100001+10];
- int main () {
- int c,d;
- cin>>c>>d;
- for (int i=0;i<c;i++) //vvod a
- cin>>a[i];
- for (int i=0;i<d;i++) //vvod b
- cin>>b[i];
- for (int i=0;i<d;i++) //proverka massiva b
- {
- int lf=0,rg=c-1,mid,pos=99999,x=100000,brain=0;
- while (rg>=lf) //proverka b[i]
- {
- mid=(rg+lf)/2;
- if (a[mid]==b[i])
- {
- pos=mid;
- break;
- }
- if (a[mid]>b[i]) {rg=mid-1;brain=0;}
- else {lf=mid+1; brain=1;}
- if (abs(a[mid]-b[i])<x && brain==0)
- {
- x=abs(a[mid]-b[i]);
- pos=mid;
- }
- if (abs(a[mid]-b[i])<=x && brain==1)
- {
- x=abs(a[mid]-b[i]);
- pos=mid;
- }
- }
- cout<<a[pos]<<endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment