CF1027D.Mouse Hunt

传统题 时间 2000 ms 内存 256 MiB 9 尝试 27 已通过 8 标签

Mouse Hunt

题目描述

伯兰州立大学的医学部刚刚结束了招生活动。和以往一样,约 80% 的申请人都是女生并且她们中的大多数人将在未来 4 年(真希望如此)住在大学宿舍里。

宿舍楼里有 nn 个房间和一只老鼠!女孩们决定在一些房间里设置捕鼠器来除掉这只可怕的怪物。在 ii 号房间设置陷阱要花费 cic_i 伯兰币。房间编号从 11nn

要知道老鼠不是一直原地不动的,它不停地跑来跑去。如果 tt 秒时它在 ii 号房间,那么它将在 t+1t+1 秒时跑到 aia_i 号房间,但这期间不会跑到别的任何房间里(i=aii=a_i 表示老鼠没有离开原来的房间)。时间从 00 秒开始,一旦老鼠窜到了有捕鼠器的房间里,这只老鼠就会被抓住。

如果女孩们知道老鼠一开始在哪里不就很容易吗?不幸的是,情况不是这样,老鼠在第 00 秒时可能会在从 11nn 的任何一个房间内。

那么女孩们最少要花多少钱设置捕鼠器,才能保证老鼠无论从哪个房间开始流窜最终都会被抓到?

输入格式

第 1 行一个整数 n(1n2105)n(1\le n \le 2*10^5),表示宿舍楼里的房间数。

第 2 行有 nn 个整数,c1,c2,,cn(1ci104)c_1, c_2, \dots, c_n(1\le c_i \le 10^4)cic_i 表示在 ii 号房间设置捕鼠器的花费。

第 3 行有 nn 个整数,a1,a2,,an(1ain)a_1, a_2, \dots, a_n(1\le a_i \le n)aia_i 是老鼠在 ii 号房间时,下一秒会窜到的房间号。

输出格式

输出一个整数,表示设置捕鼠器的最小花费(保证无论老鼠一开始在什么位置最终都能被抓住!)。

样例

5
1 2 3 2 10
1 3 4 3 3
3
4
1 10 2 10
2 4 2 2
10
7
1 1 1 1 1 1 1
2 2 2 3 6 7 6
2

在线编程 IDE

建议全屏模式获得最佳体验