2391: 双子序列最大和

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:49 Solved:33

Description

给定一个长度为 n(3 ≤ n ≤ 1000)的整数序列,要求从中选出两个连续子序列,使得这两个连续子序列的序列和之和最大,最终只需输出这个最大和。一个连续子序列的序列和为该连续子序列中所有数之和。要求:每个连续子序列长度至少为 1,且两个连续子序列之间至少间隔 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;
   }

Output

 一行一个整数ans表示最大的和。

Sample Input Copy

4 2333 2333 2333

Sample Output Copy

5324