题目要求选择分割位置 k(1≤k<n),将序列 p1,…,pn 分为前段与后段,最大化两段元素两两乘积之和:
V=i=1∑kj=k+1∑npi⋅pj该表达式可以改写为前段和与后段和的乘积。令 S=∑i=1npi 为序列总和,分割点为 k 时的前段和为 pre=∑i=1kpi,后段和为 S−pre。于是:
V=pre×(S−pre)给定一个长度为 n 的正整数序列 p1,p2,…,pn。你需要选择一个下标 k (1≤k<n),将序列划分成前段 p1…pk 和后段 pk+1…pn。定义此时的价值为前段每个元素与后段每个元素两两乘积之和,即 ∑i=1k∑j=k+1npi×pj。
请你找出在所有可能划分中,价值的最大值。由于答案可能很大,请输出结果对 998244353 取模后的值。
约束条件:序列长度 n 不超过 2×105,每个数字 pi 满足 1≤pi≤104。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册