n = int(input())  # Количество колонн
heights = list(map(int, input().split()))  # Высоты колонн
costs = list(map(int, input().split()))  # Стоимость крыши для каждой колонны

total_cost = 0  # Общая стоимость покрытия

# Проходимся по каждой колонне
for i in range(n):
    min_cost = costs[i]  # Начинаем с предположения, что крышу устанавливаем на текущей колонне

    # Ищем ближайшие башни слева и справа
    left_neighbor = i - 1
    right_neighbor = i + 1

    # Поиск башни справа
    while right_neighbor < n and heights[right_neighbor] < heights[i]:
        min_cost = min(min_cost, costs[right_neighbor])
        right_neighbor += 1

    # Поиск башни слева
    while left_neighbor >= 0 and heights[left_neighbor] < heights[i]:
        min_cost = min(min_cost, costs[left_neighbor])
        left_neighbor -= 1

    total_cost += min_cost  # Добавляем минимальную стоимость для текущей колонны к общей стоимости

print(total_cost)  # Выводим общую минимальную стоимость покрытия
