#483. 大富翁游戏

大富翁游戏

题目描述

有一个大富翁游戏,游戏地图由一排编号从 11nn 的房子组成。每个房子有两个关键属性:

  • 购买价格 aia_i:买下该房子需要支付的金额
  • 通行费用 bib_i:经过该房子时需要支付的费用(若未购买)

游戏规则:

  1. 初始准备:游戏开始前,小可可以购买任意数量的房子
  2. 移动规则
    • 按照给定的访问顺序 pp1n1 \sim n 的排列)依次经过所有房子
    • 每次经过未购买的房子时需支付通行费 bib_i
    • 初始位置在 11 号房子左侧,最终需要移动到 nn 号房子右侧
  3. 目标:通过合理购买房子,使总花费最小

输入格式

  • 第一行:整数 nn1n1051 \leq n \leq 10^5)表示房子数量
  • 第二行:排列 pp(包含 1n1 \sim n 各一次)表示访问顺序
  • 第三行:nn 个整数 aia_i1ai1091 \leq a_i \leq 10^9)表示各房子购买价格
  • 第四行:nn 个整数 bib_i1bi1091 \leq b_i \leq 10^9)表示各房子通行费用

输出格式

一个整数表示最小总花费。

样例输入

4
1 3 2 4
6 4 2 4
1 3 1 1

样例输出

8

说明

样例解释

游戏开始前买下第 2 2 个房子,花费 4 4 。 开始游戏时,小可先向右走一步到达 1 1 号房子,房租价格为 1 1 。 然后向右走 2 2 步到达 3 3 号房子,当小红经过 2 2 号房子时,由于 2 2 号房子已经购买,则不用交房租。然后到达 3 3 号房子时交房租价格为 1 1 。 然后向左走 1 1 步到达 2 2 号房子,不需要交房租。 然后向右走 2 2 步到达 4 4 号房子,经过的 3 3 号房子和 4 4 号房子分别交价格为 1 1 的房租。 最后向右离开这个大富翁地图。

数据范围

  • 对于 20%20\% 的数据,1n101 \leq n \leq 10.
  • 对于 100%100\% 的数据:1n1051 \leq n \leq 10^51ai,bi1091 \leq a_i, b_i \leq 10^9
  • 保证 [1,n][1,n] 中每个数在 pp 数组中都出现且仅出现一次