A33356.特殊的染料

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定 NN 个容量为 NN 的染料桶 1,2,,N1, 2, \cdots, N 从左到右排成一行。其中每个桶中都有装有 AiA_i 个单位的「颜色」为 AiA_i 的染料,每个桶中的染料量 互不相同

这种染料有一种特殊性质:将「颜色」为 XX 的染料倒在「颜色」为 YY 的染料的上方,则两种染料 不会混合,染料 XX 会完整地浮在染料 YY 的上方。

你可以通过执行以下操作,来使所有桶中的染料量从左到右递增。

  1. 选择一个 i (1i<N)i\ (1 \le i \lt N),将桶 ii 中的染料和桶 i+1i + 1 中的染料进行「倒换」。
  2. 每次「倒换」需要选择一个桶 j (ji,ji+1)j\ (j \ne i, j \ne i + 1),若当前桶 jj 中的染料的颜色为 kk 则消耗 BkB_k 枚金币,将桶 jj 当作交换中介,来完成此次「倒换」;
  3. 具体地:将桶 iii+1i + 1 中的染料倒入 jj 中。此处以 ii 为例,先将桶 ii 中的染料倒入 jj 中,但不能超出桶的容量,令当前两桶中的染料量分别为 AiA_iAjA_j,那么要求 Ai+AjNA_i + A_j \le N;此时桶 ii 空置,将桶 i+1i + 1 中的染料倒入 ii 中,此时桶 i+1i + 1 空置;再将桶 jj 中的上方的染料倒入桶 i+1i + 1 中,完成「倒换」操作;反之先将桶 i+1i + 1 中的染料倒入 jj 中亦可,但需要满足 Ai+1+AjNA_{i + 1} + A_j \le N

请你计算完成排序任务最少需要消耗多少枚金币。

数据范围\large{数据范围}

  • 3N1003 \le N \le 100
  • 1AiN1 \le A_i \le N
  • 1Bi1001 \le B_i \le 100
  • 所有输入数据均为整数。

输入格式

对于每个测试文件输入格式如下:

N\tt{N}
A1 A2 A3  AN\tt{A_1\ A_2\ A_3\ \cdots\ A_N}
B1 B2 B3  BN\tt{B_1\ B_2\ B_3\ \cdots\ B_N}

输出格式

对于每个测试文件在单独的一行中输出答案。

输入输出样例

  • 输入#1

    3
    1 3 2
    2 3 3

    输出#1

    2
  • 输入#2

    5
    4 5 2 1 3
    9 7 10 8 5

    输出#2

    54

说明/提示

样例 1\bf{样例\ 1:}

按照以下步骤执行操作,使用 22 枚金币将装有「蓝色」颜料的桶 11 当作「中介」,倒换桶 22 和 桶 33 中的染料,使得所有桶中的染料量从左到右递增。

样例 2\bf{样例\ 2:}

请注意,「倒换」操作花费的金币,仅与当作「中介」的桶中染料的颜色有关,与桶的编号无关。

  1. 对于 22 号桶和 33 号桶中的染料,花费 99 枚金币把装有颜色 11 的染料桶当作「中介」,进行倒换,顺序变为 4,2,5,1,34, 2, 5, 1, 3
  2. 对于 33 号桶和 44 号桶中的染料,花费 77 枚金币把装有颜色 22 的染料桶当作「中介」,进行倒换,顺序变为 4,2,1,5,34, 2, 1, 5, 3
  3. 对于 44 号桶和 55 号桶中的染料,花费 77 枚金币把装有颜色 22 的染料桶当作「中介」,进行倒换,顺序变为 4,2,1,3,54, 2, 1, 3, 5
  4. 对于 11 号桶和 22 号桶中的染料,花费 99 枚金币把装有颜色 11 的染料桶当作「中介」,进行倒换,顺序变为 2,4,1,3,52, 4, 1, 3, 5
  5. 对于 22 号桶和 33 号桶中的染料,花费 77 枚金币把装有颜色 22 的染料桶当作「中介」,进行倒换,顺序变为 2,1,4,3,52, 1, 4, 3, 5
  6. 对于 33 号桶和 44 号桶中的染料,花费 77 枚金币把装有颜色 22 的染料桶当作「中介」,进行倒换,顺序变为 2,1,3,4,52, 1, 3, 4, 5
  7. 对于 11 号桶和 22 号桶中的染料,花费 88 枚金币把装有颜色 44 的染料桶当作「中介」,进行倒换,顺序变为 1,2,3,4,51, 2, 3, 4, 5

共计花费 9+7+7+9+7+7+8=549 + 7 + 7 + 9 + 7 + 7 + 8 = 54 枚金币,使得所有桶中的染料量从左到右递增。

首页