# find the first index that value <= than n
def binary_search(arr,n,l,r)
	if(r == l)
		return r
	end
	i = (r+l)/2
	if(n <= arr[i])
		r = i
		return binary_search(arr,n,l,r)
	else
		l = i+1
		return binary_search(arr,n,l,r)
	end
end

N,Q=gets.split(" ").map{|i| i.to_i}
A=gets.split(" ").map{|i| i.to_i}
X = Array.new(Q)
0.upto(Q-1){|d|
	X[d],_=gets.chomp.split(' ').map{|n| n.to_i}
}

sum = Array.new(N)
stepsum0 = Array.new(N)
stepsum1 = Array.new(N)
sum[0] = A[0]
for i in 1..(N-1)
	sum[i] = A[i] + sum[i-1]
end
stepsum0[0] = A[0]
stepsum0[1] = A[0]
2.step(N-2,2){|i|
	stepsum0[i] = stepsum0[i-2] + A[i]
	stepsum0[i+1] = stepsum0[i-1] + A[i]
}
stepsum1[0] = A[1]
stepsum1[1] = A[1]
stepsum1[2] = A[1]
3.step(N-2,2){|i|
	stepsum1[i] = stepsum1[i-2] + A[i]
	stepsum1[i+1] = stepsum1[i-1] + A[i]
}
stepsum1[N-1] = stepsum1[N-3] + A[N-1]

# p sum
# p stepsum0
# p stepsum1
# p X

if(N%2==0)
	left = 1
	right = 1 + N/2-1
	arr = []
	while(left < right)
		arr << A[left]*1.0 + (A[right]-A[left])*1.0/2
		left += 2
		right += 1
	end
	# p arr
	for i in 0..(Q-1)
		# 0 .. a
		# 0 はくりかえしがなやつ
		patnum = nil
		if arr[arr.size-1] < X[i]
			patnum = arr.size
		else
			patnum = binary_search(arr, X[i], 0, arr.size-1)
		end
		# puts " "
		# puts X[i]
		# puts "patnum #{patnum}"
		puts sum[N-1] - sum[N-1-N/2+patnum] + (patnum == 0 ? 0 : stepsum1[1+(patnum-1) * 2])
		# puts sum[N-1]
		# puts sum[N-1-N/2+patnum]
		# puts patnum == 0 ? 0 : stepsum1[1+(patnum-1) * 2]
	end
else
	left = 0
	right = 0 + N/2-1
	arr = []
	while(left < right)
		arr << A[left]*1.0 + (A[right]-A[left])*1.0/2
		left += 2
		right += 1
	end
	# p arr
	for i in 0..(Q-1)
		# 0 .. a
		# 0 はくりかえしがなやつ
		patnum = nil
		if arr[arr.size-1] < X[i]
			patnum = arr.size
		else
			patnum = binary_search(arr, X[i], 0, arr.size-1)
		end
		# puts " "
		# puts X[i]
		# puts "patnum #{patnum}"
		puts sum[N-1] - sum[N-1-N/2+patnum] + (patnum == 0 ? 0 : stepsum0[0+(patnum-1) * 2])
		# puts sum[N-1]
		# puts sum[N-1-N/2+patnum]
		# puts patnum == 0 ? 0 : stepsum0[0+(patnum-1) * 2]
	end
end
