测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16742. Mukhammadali and the Smooth Array

编程题 普及-
知识点

题目描述

Muhammadali 有一个整数数组 $a_1, \dots, a_n$。他可以更改(替换)任意位置的元素;将第 $i$ 个位置更改成任何他希望的整数需要花费 $c_i$。他没有更改的位置必须保持原值。

在所有更改完成后,如果第 $i$ 个位置的最终值严格大于第 $i+1$ 个位置的最终值($1 \leq i < n$),那么我们称第 $i$ 个位置发生了“下降”。

Muhammadali 想让最终数组中没有“下降”发生。

请找出为了确保数组中不存在任何“下降”需要付出的最小代价。

输入格式

第一行为一个整数 $t$($1 \leq t \leq 5000$),表示测试用例的数量。

每个测试用例包含三行:

第一行包含一个整数 $n$($1 \leq n \leq 8000$),表示数组的长度。

第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \leq a_i \leq 10^9$),表示数组中的元素。

第三行包含 $n$ 个整数 $c_1, c_2, \dots, c_n$($1 \leq c_i \leq 10^9$),表示更改各个位置的花费。

保证所有测试用例的 $n$ 之和不超过 $8000$。

输出格式

对于每个测试用例,输出一个整数,表示消除所有“下降”所需的最小总花费。

输入输出样例

输入 #1
10
1
10
5
4
1 2 2 3
5 6 7 8
4
4 3 2 1
1 1 1 1
3
3 1 2
100 1 1
5
5 5 5 5 5
10 1 10 1 10
5
1 3 2 2 4
100 1 1 1 100
6
10 9 8 7 6 5
1 100 1 100 1 100
5
100 1 100 100 100
1 100 1 1 1
4
2 1 2 1
5 4 3 2
7
1 5 3 4 2 6 7
10 1 10 1 10 1 10
输出 #1
0
0
3
2
0
1
203
1
6
11

说明/提示

在第一个和第二个样例中,数组本身已经没有“下降”,因此无需任何更改。

在第三个样例中,一种最优的数组是 $[2,3,5,6]$;要达成这个结果,除了第二个元素外,其他元素都需要被替换,因此答案是 $c_1 + c_3 + c_4 = 3$。
上一题 去做题 下一题