在掌阅的内容推荐系统中,为了给用户精准推送感兴趣的电子书,需要分析用户的阅读行为与书籍特征之间的匹配度。假设我们用两个数组分别量化用户行为特征(nums1)和书籍内容特征(nums2): nums1 中的元素表示用户对不同类型内容的偏好权重(如科幻、历史、言情等),正值表示偏好,负值表示排斥; nums2 中的元素表示某本电子书在对应类型上的特征强度(如科幻元素占比、历史严谨度等)。 为了找到用户与书籍的最佳匹配方式,需要从两个数组中选择长度相同的非空子序列(保持原有顺序),计算它们的点积(对应元素相乘后求和),点积越大表示匹配度越高。你的任务是找出这种匹配方式下的最大点积,为推荐系统提供决策依据数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。 比方说,[2,3,5] 是 [1,2,3,4,5] 的一个子序列而 [1,5,3] 不是。
输入描述:
第一行输入若干个数字(空格隔开)组成nums1。第一行输入若干个数字(空格隔开)组成nums2。


输出描述:
输出一个整数表示答案。
示例1

输入

2 1 -2 5
3 0 -6

输出

18

说明

解释:从 nums1 中得到子序列 [2,-2] ,从 nums2 中得到子序列 [3,-6] 。它们的点积为 (2*3 + (-2)*(-6)) = 18
示例2

输入

-1 -2
-3 -4

输出

11
示例3

输入

1 -2
-3 4

输出

6

备注:
1 -1000
加载中...