#include<iostream>
using namespace std;
long long dp[100005], t[100005], a[100005], ma=LONG_LONG_MIN, f[100000];
int main(){
long long n, p;
cin>>n>>p;
for(int i=1;i<=n;i++){
cin>>a[i];
dp[i]=max(dp[i-1]+a[i], a[i]);
ma=max(ma, dp[i]);
t[i]=ma;
}
f[1]=t[1];
ma=LONG_LONG_MIN;
long long ga=LONG_LONG_MIN;
for(int i=2;i<=n;i++){
ma=max(ma, f[i-1]+t[i-1])%p;
f[i]=ma%p;
}
for(int i=1;i<=n;i++){
ga=max(ga, f[i])%p;
}
cout<<ga%p;
return 0;
}
为什么这段代码会CE啊