CF1749B.Death's Blessing

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are playing a computer game. To pass the current level, you have to kill a big horde of monsters. In this horde, there are nn monsters standing in the row, numbered from 11 to nn. The ii-th monster has aia_i health and a special "Death's Blessing" spell of strength bib_i attached to it.

You are going to kill all of them one by one. It takes exactly hh seconds to kill a monster with health hh.

When the ii-th monster dies, it casts its spell that increases the health of its neighbors by bib_i (the neighbors of the jj-th monster in the row are the monsters on places j−1j - 1 and j+1j + 1. The first and the last monsters have only one neighbor each).

After each monster is killed, the row shrinks, so its former neighbors become adjacent to each other (so if one of them dies, the other one is affected by its spell). For example, imagine a situation with 44 monsters with health a=[2,6,7,3]a = [2, 6, 7, 3] and spells b=[3,6,0,5]b = [3, 6, 0, 5]. One of the ways to get rid of the monsters is shown below:

22

66

77

33

→6 s\xrightarrow{6\ s}

88

1313

33

→13 s\xrightarrow{13\ s}

88

33

→8 s\xrightarrow{8\ s}

66

→6 s\xrightarrow{6\ s}

{}

33

66

00

55

33

00

55

33

55

55

The first row represents the health of each monster, the second one — the power of the spells.

As a result, we can kill all monsters in 6+13+8+66 + 13 + 8 + 6 == 3333 seconds. Note that it's only an example and may not be the fastest way to get rid of the monsters.

What is the minimum time required to kill all monsters in the row?

你正在玩一款电脑游戏。为了通过当前关卡,你需要消灭一大群怪物。这群怪物共有 nn 只,排成一列,编号从 11 到 nn。第 ii 只怪物的生命值为 aia_i,并附有一个强度为 bib_i 的特殊法术“死亡祝福”。

你将逐个消灭这些怪物。消灭一只生命值为 hh 的怪物恰好需要 hh 秒。

当第 ii 只怪物死亡时,它会施放其法术,使其相邻怪物的生命值各增加 bib_i(第 jj 只怪物在队列中的相邻怪物是位置 j−1j-1 和 j+1j+1 上的怪物;首尾两只怪物各自仅有一个相邻怪物)。

每次消灭一只怪物后,队列会收缩,其原先的两个相邻怪物变为彼此相邻(因此若其中一只随后被消灭,另一只将受到它的法术影响)。例如,考虑有 44 只怪物的情形,其生命值为 a=[2,6,7,3]a = [2, 6, 7, 3],法术强度为 b=[3,6,0,5]b = [3, 6, 0, 5]。以下是一种消灭所有怪物的方式:

22

66

77

33

→6 s\xrightarrow{6\ s}

88

1313

33

→13 s\xrightarrow{13\ s}

88

33

→8 s\xrightarrow{8\ s}

66

→6 s\xrightarrow{6\ s}

{}

33

66

00

55

33

00

55

33

55

55

第一行表示每只怪物的生命值,第二行表示对应法术的强度。

最终,我们可在 6+13+8+6=336 + 13 + 8 + 6 = 33 秒内消灭全部怪物。注意这仅是一个示例,未必是消灭所有怪物的最快方式。

问:消灭整列怪物所需的最短时间是多少?

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains a single integer nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5) — the number of monsters in the row.

The second line contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1091 \le a_i \le 10^9) — the initial health of corresponding monsters.

The third line contains nn integers b1,b2,…,bnb_1, b_2, \dots, b_n (0≤bi≤1090 \le b_i \le 10^9), where bib_i is the strength of the spell for the ii-th monster.

It's guaranteed that the sum of nn doesn't exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)—— 行中怪物的数量。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1091 \le a_i \le 10^9)—— 对应怪物的初始生命值。

第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(0≤bi≤1090 \le b_i \le 10^9),其中 bib_i 表示对第 ii 个怪物施放法术的强度。

保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

For each test case, print one integer — the minimum possible total time to kill all monsters.

对于每个测试用例,输出一个整数——消灭所有怪物所需的最少总时间。

输入输出样例

  • 输入#1

    4
    1
    10
    0
    3
    100 1 100
    1 100 1
    4
    2 6 7 3
    3 6 0 5
    2
    1000000000 1000000000
    1000000000 1000000000

    输出#1

    10
    203
    26
    3000000000

说明/提示

In the first test case, there is only one monster that will be killed in 1010 seconds.

In the second test case, it's optimal to kill the first monster, the last monster and then the middle one. It will take 100+100+(1+1+1)100 + 100 + (1 + 1 + 1) == 203203 seconds.

In the third test case, it's optimal to kill the first monster, then the third one, then the fourth one and finally the second one. It will take 2+7+(3+0)+(3+6+5)2 + 7 + (3 + 0) + (3 + 6 + 5) == 2626 seconds.

在第一个测试用例中,只有一个怪物,将在 1010 秒内被消灭。

在第二个测试用例中,最优策略是先消灭第一个怪物,再消灭最后一个怪物,最后消灭中间的怪物。总共耗时 100+100+(1+1+1)100 + 100 + (1 + 1 + 1) == 203203 秒。

在第三个测试用例中,最优策略是先消灭第一个怪物,然后消灭第三个怪物,接着消灭第四个怪物,最后消灭第二个怪物。总共耗时 2+7+(3+0)+(3+6+5)2 + 7 + (3 + 0) + (3 + 6 + 5) == 2626 秒。

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

首页