I couldn't arrive at a formula, but below is a program to calculate it
assuming N is divisble by D
bananas_left = N
distance_left = D
while (distance_left > 0 ) {
trips = bananas_left/D
distance = D / (trips * 2 - 1)
if (distance < distance_left)
bananas_left = bananas_left - D
else {
bananas_left = bananas_left - ( (trips * 2 - 1) * distance)
distance_left = 0