#811. 最大点积子序列
最大点积子序列
最大点积子序列
题目描述
给你两个整数数组 和 。请你在两个数组中分别选择长度相同且非空的子序列,使它们的点积最大。
数组的子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。
点积定义为:
若选择的子序列分别为 与 ,则点积为
请输出最大点积。
输入格式
输入共三行。
- 第一行包含两个整数 ,表示 与 的长度。
- 第二行包含 个整数,表示 。
- 第三行包含 个整数,表示 。
输出格式
输出一行,一个整数,表示最大点积。
输入输出样例 #1
输入 #1
4 3
2 1 -2 5
3 0 -6
输出 #1
18
样例解释 #1
可选子序列为 nums1 中的 [2,-2] 与 nums2 中的 [3,-6],点积为 。
输入输出样例 #2
输入 #2
2 3
3 -2
2 -6 7
输出 #2
21
样例解释 #2
可选子序列为 nums1 中的 [3] 与 nums2 中的 [7],点积为 。
输入输出样例 #3
输入 #3
2 2
-1 -1
1 1
输出 #3
-1
样例解释 #3
可选子序列为 nums1 中的 [-1] 与 nums2 中的 [1],点积为 。
数据范围
对于所有测试数据,保证:
- ;
- 。