AT_abc360_c.[ABC360C] Move It

入门

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个编号为 11 到 NN 的箱子,以及 NN 个编号为 11 到 NN 的行李。行李 ii(1≤i≤N1 \leq i \leq N)目前在编号为 AiA_i 的箱子中,重量为 WiW_i。

你可以选择一个行李,并将其移动到其他任意一个箱子中,这个操作可以重复进行 00 次或多次。每次移动行李时,若被移动行李的重量为 ww,则需要花费 ww 的代价。

请你求出,使得每个箱子里正好有一个行李所需的总代价的最小值。

输入格式

输入以如下格式从标准输入读入:

NN A1A_1 A2A_2 …\ldots ANA_N W1W_1 W2W_2 …\ldots WNW_N

输出格式

输出使得每个箱子里正好有一个行李所需的总代价的最小值。

输入输出样例

  • 输入#1

    5
    2 2 3 3 5
    33 40 2 12 16

    输出#1

    35
  • 输入#2

    12
    3 6 7 4 12 4 8 11 11 1 8 11
    3925 9785 9752 3587 4013 1117 3937 7045 6437 6208 3391 6309

    输出#2

    17254

说明/提示

限制条件

  • 1≤N≤1051 \leq N \leq 10^{5}
  • 1≤Ai≤N1 \leq A_i \leq N(1≤i≤N1 \leq i \leq N)
  • 1≤Wi≤1041 \leq W_i \leq 10^{4}(1≤i≤N1 \leq i \leq N)
  • 输入均为整数

样例解释 1

通过以下两次行李移动,可以使每个箱子里正好有一个行李:

  • 将行李 11 从箱子 22 移动到箱子 11,此时花费 3333。
  • 将行李 33 从箱子 33 移动到箱子 44,此时花费 22。

这两次移动的总代价为 3535。无法通过低于 3535 的总代价使每个箱子里正好有一个行李,因此输出 3535。

由 ChatGPT 4.1 翻译

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

首页