首页 > 试题广场 >

n个数的和

[编程题]n个数的和
  • 热度指数:66 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
初始有两个长度均为 的数组 .

牛牛想在其中选出 个数求和,选数的规则如下:

1. 每个 数组中的数只能被选择一次,而每个 数组中的数可以被选择无数次。
2. 想要选择 数组中的数,就必须先选择 数组中相同下标的数。例如:想要选择 ,就必须先选择 .

在上述规则下,最终选出的 个数求和的最大值是多少?

输入描述:
第一行输入一个正整数 ,代表测试数据组数。

对于每组测试数据,第一行输入两个正整数 ,依次代表需要找 个数求和以及 数组的长度。
接下去 行,每行两个正整数 .


输出描述:
对于每组测试数据,一行输出一个正整数代表答案。
示例1

输入

1
6 3
6 0
1 6
4 3

输出

31

说明

选择 \mathit a_\text 1,\ \mathit a_\text 2 以及四次 \mathit b_\text 2,可以达到 \text 6\ +\ \text 1\ +\ \text 4\ \times\ \text 6\ =\ \text {31},同时,其它选数方案求得的和,一定不会超过 \text {31}.