n = int(input())  # Число колонн
heights = list(map(int, input().split()))  # Высоты колонн
costs = list(map(int, input().split()))  # Стоимости крыш

# Инициализируем списки для левых и правых крайних колонн на каждом уровне
leftmost = [0] * n
rightmost = [0] * n

# Находим левую крайнюю колонну на каждом уровне
leftmost[0] = 0
for i in range(1, n):
    leftmost[i] = max(leftmost[i-1], heights[i-1])

# Находим правую крайнюю колонну на каждом уровне
rightmost[n-1] = 0
for i in range(n-2, -1, -1):
    rightmost[i] = max(rightmost[i+1], heights[i+1])

# Вычисляем минимальную стоимость накрытия
total_cost = 0
for i in range(n):
    cost = min(costs[i] + leftmost[i], costs[i] + rightmost[i])
    total_cost += cost

# Выводим минимальную стоимость
print(total_cost)
