1480: 5057. 截断数组

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:5 Solved:2

Description

给定一个长度为 n 的正整数数组 a1,a2,…,an 和一个正整数 p。

现在,要将该数组从中间截断,得到两个非空子数组。

我们规定,一个数组的价值等于数组内所有元素之和模 p 的结果。

我们希望,将给定数组截断后,得到的两个非空子数组的价值之和尽可能大。

请你输出这两个非空子数组的价值之和的最大可能值。

Input

第一行包含两个整数 n 和 p。

第二行包含 n 个整数 a1,a2,…,an。

Output

一个整数,表示价值之和的最大可能值。

Sample Input Copy

4 10
3 4 7 2

Sample Output Copy

16

HINT

前 3 个测试点满足 2≤n≤10
所有测试点满足 2≤n≤1052≤p≤100001≤ai≤106

Source/Category