#include #include #include #include using namespace std; vector adj[100]; int cnt(long long x){ int ret=0; while(x){ ret++; x/=2; } return ret; } int n; long long arr[1001001]; vector merge(vector & a,vector & b){ vector ret; int sa=a.size(); int sb=b.size(); int cur_a=0; int cur_b=0; while(cur_a>n>>q; scanf("%d %d",&n,&q); for(int i=0;i>arr[i]; scanf("%lld",arr+i); } for(int i=0;i>query[i]; scanf("%d",query+i); } sort(arr,arr+n); int mx=0; for(int i=0;i=1;i--){ adj[i]=merge(adj[i],adj[i+1]); int s=adj[i].size(); for(int j=s-1;j>=0;j--){ if(query[cur_q] == cur_time){ ans[cur_q] = adj[i][j]; cur_q++; } cur_time++; adj[i][j]/=2; } } for(int i=0;i