QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 1024 MB Puntuación total: 100

#2465. 你在哪里装箱?

Estadísticas

Ben Bean 拥有 Ben Bean’s Bin Bonanza,为城里的五家大公司提供仓储箱:一家橡皮筋公司、一家梅赛德斯-奔驰经销商、一家冰樱桃农场、一家棒棒糖商店和一家面包店。它们共同将各自的橡皮筋、奔驰车、樱桃、糖果和面包存放在 Ben 的箱子里。

Ben 总共有 $n$ 个箱子,排成一行,编号为 $1$ 到 $n$。虽然并非所有箱子在任何时候都处于使用状态,但 Ben 发现让每家公司的箱子保持连续是有益的。因此,当一家公司需要新箱子或放弃不再需要的箱子时,Ben 可能需要将物品从一个箱子移动到另一个箱子,以确保该公司的所有箱子保持相邻。有时 Ben 可以选择移动哪个箱子,因此他为每个箱子分配了一个成本,等于该箱子中存储的物品数量(从放弃的箱子中移除物品和/或将物品移入新箱子是公司的责任,不计入 Ben 的成本)。显然,在移动箱子时,Ben 希望成本尽可能低。

如果只有一家公司需要进行变动,Ben 通常可以找出移动物品的最廉价方式,但通常在每个季度末,五家公司都会在重新评估其产品线时进行箱子的增加和删除。在这种情况下,确定成本最低的移动方案就更困难了。考虑图 K.1a 中的情况,它显示了 6 个箱子,存储着来自 A、E、I、O 和 U 五家公司的物品。括号中的数字表示该箱子中的物品数量(因此也是将物品从该箱子移动到另一个箱子的成本)。假设在季度末,公司 U 决定不再需要箱子 6,而公司 A 请求第二个箱子。一种可能性是将 E 的物品从箱子 2 移到空箱子 6,从而腾出箱子 2 给公司 A(图 K.1b)——这对 Ben 来说,此次重排的成本为 4。然而,最优的移动方案是将 U 的物品从箱子 5 移到箱子 1,将 A 的物品从箱子 1 移到箱子 5,并将箱子 6 给公司 A(图 K.1c)——此移动的成本为 3。Ben 也可以将 A 的物品从箱子 1 移到箱子 6 来达到相同的最优成本。请注意,在所有情况下,从 U 的箱子 6 中移除 3 个物品并将 7 个物品添加到 A 的第二个箱子中,对 Ben 来说都没有成本。

图 K.1:样例输入 1。

输入格式

输入以一个长度为 $n$ ($1 \le n \le 150$) 的字符串开始,表示箱子的初始使用情况。字符将全部来自集合 {A, E, I, O, U, X},分别表示使用该箱子的公司或空箱子 (X)。接下来是一行 $n$ 个整数,表示每个箱子中的物品数量;对应空箱子的位置数值始终为 0,对应公司箱子的位置数值为正数且 $\le 100$。任何一家公司的箱子始终是连续的。

下一行以一个整数 $d$ ($0 \le d \le n$) 开始,表示本季度的删除次数。接下来是 $d$ 个整数。每个整数指定一个公司不再需要的箱子。这些箱子绝不会对应已经为空的箱子。最后一行是一个长度为正的字符串,表示请求的新箱子。如果该字符串为单个 X,则表示没有请求新箱子。否则,字符将全部在集合 {A, E, I, O, U} 中,顺序不限,每个字符代表对应公司对新箱子的请求。始终会有足够的箱子来处理任何变动。

输出格式

输出满足所有箱子变动要求并保持每家公司箱子连续所需的最小成本。

样例

样例输入 1

AEIOUU
1 4 6 9 2 3
1 6
A

样例输出 1

3

样例输入 2

AEIOUU
10 4 6 9 2 3
1 6
A

样例输出 2

4

样例输入 3

AEIOUU
1 4 6 9 2 3
4 5 1 4 3
EUE

样例输出 3

0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.