#ZF1085. 有好多意识的萝卜
有好多意识的萝卜
Description
一天,一只狸猫作为主驾驶员驾驶一个萝卜去战斗,这个萝卜有着一个主机体和 个子机体,每个子机体需要由一个单独的其他意识来操纵,其中第 个子机体由第 个意识来操纵。
在一场战斗中,狸猫虽然战胜了对手,但由于受到敌方萝卜的数据风暴的影响,原来第 个子机体中的意识变成了 。
为了更好地迎接下一场战斗,狸猫想要让这些意识都回到原来对应的子机体。为此,狸猫可以执行任意次操作:选择两个子机体的编号 ,交换子机体 和子机体 中的意识,为此狸猫需要承受 点数据风暴。
狸猫想知道如果把大家都换回去的话自己最少需要承受多少数据风暴。
Format
Input
第一行一个正整数 ,表示萝卜的子机体数量。
第二行 个正整数 ,题目保证对于任意的 满足 。
第三行 个正整数 ,表示交换第 个子机体内的意识需要承受的数据风暴。
Output
输出一行,包含一个整数,表示狸猫最少需要承受多少数据风暴。
Samples
4
2 1 4 3
1 1 1 2
5
4
2 4 3 1
1 10 100 1000
1012
Notes
在第一个样例中只需将 和 交换, 和 交换即可,承受 共 点数据风暴。
在第二个样例中可以按如下顺序交换:
- ,交换后的机体意识:,承受 点数据风暴;
- ,交换后的机体意识:,承受 点数据风暴。
共承受 点数据风暴。
Limitation
1s, 256MB for each test case.