给定一个长度为 n(1 ≤ n ≤ 200000)的整数序列,要求从中选出一个连续子序列,使得这个连续子序列的序列和最大,最终只需输出这个最大和。一个连续子序列的序列和为该连续子序列中所有数之和。要求:连续子序列长度至少为 1。
Input
一行四个整数n,A,B,C(0≤A,B,C≤10000),其中n表示序列长度。x[i]由如下方式生成:
for (int i = 1; i <= n; i++){
int tmp = ((long long)A * i * i + B * i + C) % 20000;
x[i] = tmp - 10000;
}