CFCF1519D.Maximum Sum of Products
普及/提高-
官方
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个长度为 n 的整数数组 a 和 b。
你可以至多反转一次数组 a 的一个子数组(连续子段)。
你的任务是选择反转哪个子数组,使得 i=1∑nai⋅bi 的值最大。
输入格式
第一行包含一个整数 n(1≤n≤5000)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤107)。
第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤107)。
输出格式
输出一个整数,表示在至多反转一次 a 的一个连续子数组后,能够得到的最大和。
输入输出样例
输入#1
5 2 3 2 1 3 1 3 2 4 2
输出#1
29
输入#2
2 13 37 2 4
输出#2
174
输入#3
6 1 8 7 6 3 6 5 9 6 8 8 6
输出#3
235
说明/提示
在第一个样例中,你可以反转子数组 [4,5]。此时 a=[2,3,2,3,1],计算得 2⋅1+3⋅3+2⋅2+3⋅4+1⋅2=29。
在第二个样例中,你无需进行反转操作。13⋅2+37⋅4=174。
在第三个样例中,你可以反转子数组 [3,5]。此时 a=[1,8,3,6,7,6],计算得 1⋅5+8⋅9+3⋅6+6⋅8+7⋅8+6⋅6=235。