#include<bits/stdc++.h> 
using namespace std;
#define ll long long
const int maxs=1e6+10;
int n;
ll a[maxs],num=0;
ll jiejin(ll b){
   ll l=0,r=n-1;
   if(b<=a[l]){
      return a[l];
   }
   if(b>=a[r]){
      return a[r];
   }//是否越界
   //ll m=(l+r)/2;//放这里的时候进入循环m不会更新h_h 被卡了好久555
   while(r-l>1){
      // if(b<a[m]){
      //    r=m;

      // }
      ll m=(l+r)/2;
      if(b>=a[m]){
         //r=m;
         l=m;

      }
      else{
         r=m;
      }//分段


   }
   if(abs(a[l]-b)<=abs(a[r]-b)){
      return a[l];//判断哪个小

   }
   return a[r];


}
signed main(){
   ll x,s;
   cin>>n;
   for(ll i=0;i<n;i++){
      cin>>a[i];
   }
   cin>>x;;
   for(ll i=0;i<x;i++){
      cin>>s;
      cout<<jiejin(s)<<endl;
      // b[++num]=jiejin(s);

      
   }
   // sort(b,b+num,greater<int>());
   // for(int i=0;i<num;i++){
   //    cout<<b[i]<<endl;
   // }





   return 0; 
}

0 comments

No comments so far...

Information

ID
725
Time
1000ms
Memory
256MiB
Difficulty
8
Tags
# Submissions
78
Accepted
11
Uploaded By