题解
题面描述
我们有以下输入:
- 一个整数 n,表示数组的长度。
- 三个长度为 n 的数组 a, b, c。
我们需要通过最多一次交换操作(交换数组 a 中的两个元素的位置),使得定义的 s 值最大化。s 的计算公式为:
P2678.第3题-数组交换
题目内容
给定三个长度为n的数组a,b,c,最多可以进行一次操作,交换数组a中的两个数字的位置。定义
s=(b1−a1)⋅c1+(b2−a2)⋅c2+...+(bn−an)⋅cn,求最多一次操作后s的最大值是多少?
输入描述
第一行输入一个整数n(1≤n≤105)。
接下来3行,每行n个整数,第一行为数组a,第二行为数组b,第三行为数组c,1≤ai,bi,ci≤103.
输出描述
输出一个整数,表示s的最大值。
样例1
输入
3
2 2 1
3 3 3
1 2 1
输出
6
说明
将a2与a3交换;s此时为6。