atcoder#ABC256E. [ABC256E] Takahashi's Anguish

[ABC256E] Takahashi's Anguish

题目描述

1 1 から N N の番号がついた N N 人の人がいます。
高橋君は 1 1 から N N までの整数を並び替えた列 P = (P1, P2, , PN) P\ =\ (P_1,\ P_2,\ \dots,\ P_N) 1 1 つ選んで、 人 P1 P_1 , 人 P2 P_2 , \dots , 人 PN P_N の順番に 1 1 人ずつキャンディを配ることにしました。
i i は人 Xi X_i のことが嫌いなので、高橋君が人 i i より先に人 Xi X_i にキャンディを配った場合、人 i i に不満度 Ci C_i がたまります。そうでない場合の人 i i の不満度は 0 0 です。
高橋君が P P を自由に選べるとき、全員の不満度の和の最小値はいくつになりますか?

输入格式

入力は以下の形式で標準入力から与えられる。

N N X1 X_1 X2 X_2 \dots XN X_N C1 C_1 C2 C_2 \dots CN C_N

输出格式

答えを出力せよ。

题目大意

存在 n n 个人,你需要确定一个序列 Pn P_n 表示这 n n 个人的排列,对于每个人,第 i i 个人有且仅有一个 xi x_i ,表示不喜欢 xi x_i 站在 i i 的前面,若 xi x_i 站在 i i 的前面则会产生 ci c_i 的不愉悦值,你需要确定排列以最小化不愉悦值之和,求最小值。

3
2 3 2
1 10 100
10
8
7 3 5 5 8 4 1 2
36 49 73 38 30 85 27 45
57

提示

制約

  • 2  N  2 × 105 2\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 1  Xi  N 1\ \leq\ X_i\ \leq\ N
  • Xi  i X_i\ \neq\ i
  • 1  Ci  109 1\ \leq\ C_i\ \leq\ 10^9
  • 入力される値はすべて整数

Sample Explanation 1

P = (1, 3, 2) P\ =\ (1,\ 3,\ 2) とすれば不満度が正になるのは人 2 2 だけで、この時全員の不満度の和は 10 10 になります。 これより不満度の和を小さくすることはできないので、答えは 10 10 です。