#P17207. [2025年南外]单身狗的复仇

[2025年南外]单身狗的复仇

小 D 是一只单身狗。他看到周围所有人都有了伴侣,心里十分不爽。于是他准备向这些情侣们展开复仇!

具体来说,小 D 周围有 nn 个男生和 nn 个女生,他们组成了 nn 对情侣。

今天,这些情侣们排成了两排。男生们站在第一排,从左至右依次编号为 1n1\dots n;女生们站在第二排,从左至右依次编号为 1n1\dots n。形式化地说,存在一个 1,2,n1,2,\dots n 的排列 p1,p2,,pnp_1,p_2,\dots,p_n,使得第 ii 个男生和第 pip_i 个女生是情侣。

对于每一对情侣,小 D 想象他们之间有一根缘分的红线相连。我们用 (a,b)(a,b) 来表示第 aa 个男生和第 bb 个女生之间的红线。我们称两根红线 (a,b),(c,d)(a,b),(c,d) 相交,当且仅当 a<c,b>da < c,b > da>c,b<da > c, b < d 成立。

现在,小 D 要拆散这些情侣。他每次可以选择一对尚未被拆散的情侣 (i,pi)(i,p_i),并花费 wiw_i 的代价将他们拆散。与此同时,所有红线与 (i,pi)(i,p_i) 相交的情侣,也会被拆散(不需要花费额外代价)。

小 D 想要知道,拆散全部 nn 对情侣所需的最小代价是多少。请你帮他计算吧!

输入格式

第一行一个整数 nn

第二行 nn 个空格隔开的整数 p1,p2,,pnp_1,p_2,\dots ,p_n

第三行 nn 个空格隔开的整数 w1,w2,,wnw_1,w_2,\dots, w_n

输出格式

输出一行一个整数,表示拆散所有情侣的最小代价。

样例 1 输入

5
3 1 4 5 2
3 4 3 4 1

样例 1 输出

5

数据范围

对于 10%10\% 的数据,1n101\leq n\leq 10

对于 40%40\% 的数据,1n10001\leq n\leq 1000

对于另外 10%10\% 的数据,保证 ipi5|i - p_i|\leq 5

对于 100%100\% 的数据,1n2×1051\leq n\leq 2\times 10^51wi1041\leq w_i\leq 10^4