CF1295E.Permutation Separation

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a permutation p1,p2,…,pnp_1, p_2, \dots , p_n (an array where each integer from 11 to nn appears exactly once). The weight of the ii-th element of this permutation is aia_i.

At first, you separate your permutation into two non-empty sets — prefix and suffix. More formally, the first set contains elements p1,p2,…,pkp_1, p_2, \dots , p_k, the second — pk+1,pk+2,…,pnp_{k+1}, p_{k+2}, \dots , p_n, where 1≤k<n1 \le k \lt n.

After that, you may move elements between sets. The operation you are allowed to do is to choose some element of the first set and move it to the second set, or vice versa (move from the second set to the first). You have to pay aia_i dollars to move the element pip_i.

Your goal is to make it so that each element of the first set is less than each element of the second set. Note that if one of the sets is empty, this condition is met.

For example, if p=[3,1,2]p = [3, 1, 2] and a=[7,1,4]a = [7, 1, 4], then the optimal strategy is: separate pp into two parts [3,1][3, 1] and [2][2] and then move the 22-element into first set (it costs 44). And if p=[3,5,1,6,2,4]p = [3, 5, 1, 6, 2, 4], a=[9,1,9,9,1,9]a = [9, 1, 9, 9, 1, 9], then the optimal strategy is: separate pp into two parts [3,5,1][3, 5, 1] and [6,2,4][6, 2, 4], and then move the 22-element into first set (it costs 11), and 55-element into second set (it also costs 11).

Calculate the minimum number of dollars you have to spend.

给你一个排列 p1,p2,…,pnp_1, p_2, \dots , p_n(即一个长度为 nn 的数组,其中每个从 11 到 nn 的整数恰好出现一次)。该排列中第 ii 个元素的权重为 aia_i。

首先,你需要将这个排列划分为两个非空集合——前缀集合与后缀集合。更准确地说,第一个集合包含元素 p1,p2,…,pkp_1, p_2, \dots , p_k,第二个集合包含 pk+1,pk+2,…,pnp_{k+1}, p_{k+2}, \dots , p_n,其中 1≤k<n1 \le k \lt n。

随后,你可以在两个集合之间移动元素。允许的操作是:任选第一个集合中的一个元素将其移入第二个集合,或任选第二个集合中的一个元素将其移入第一个集合。将元素 pip_i 移动一次需花费 aia_i 美元。

你的目标是使第一个集合中的每个元素都严格小于第二个集合中的每个元素。注意:若其中一个集合为空,则该条件自动满足。

例如,若 p=[3,1,2]p = [3, 1, 2] 且 a=[7,1,4]a = [7, 1, 4],则最优策略为:将 pp 划分为两部分 [3,1][3, 1] 和 [2][2],然后将值为 22 的元素(即 p3p_3)移入第一个集合(花费 44 美元)。又如,若 p=[3,5,1,6,2,4]p = [3, 5, 1, 6, 2, 4],a=[9,1,9,9,1,9]a = [9, 1, 9, 9, 1, 9],则最优策略为:将 pp 划分为两部分 [3,5,1][3, 5, 1] 和 [6,2,4][6, 2, 4],然后将值为 22 的元素(即 p5p_5)移入第一个集合(花费 11 美元),并将值为 55 的元素(即 p2p_2)移入第二个集合(也花费 11 美元)。

请计算达成目标所需的最小花费(单位:美元)。

输入格式

The first line contains one integer nn (2≤n≤2⋅1052 \le n \le 2 \cdot 10^5) — the length of permutation.

The second line contains nn integers p1,p2,…,pnp_1, p_2, \dots , p_n (1≤pi≤n1 \le p_i \le n). It's guaranteed that this sequence contains each element from 11 to nn exactly once.

The third line contains nn integers a1,a2,…,ana_1, a_2, \dots , a_n (1≤ai≤1091 \le a_i \le 10^9).

第一行包含一个整数 nn(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5)—— 排列的长度。

第二行包含 nn 个整数 p1,p2,…,pnp_1, p_2, \dots , p_n(1≤pi≤n1 \le p_i \le n)。保证该序列恰好包含从 11 到 nn 的每个元素各一次。

第三行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots , a_n(1≤ai≤1091 \le a_i \le 10^9)。

输出格式

Print one integer — the minimum number of dollars you have to spend.

输出一个整数——你需要花费的最少美元数。

输入输出样例

  • 输入#1

    3
    3 1 2
    7 1 4

    输出#1

    4
  • 输入#2

    4
    2 4 1 3
    5 9 8 3

    输出#2

    3
  • 输入#3

    6
    3 5 1 6 2 4
    9 1 9 9 1 9

    输出#3

    2

输入解题思路,AI测评打分。不知道怎么写?

首页