subtask1 第一个点WA了,求助
本蒟蒻估计爆long long力~
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+5;
int n,MOD;
ll a[N],pf[N],dp[N],mx,ans;
void solve1(){
dp[0]=LONG_LONG_MIN;
for(int i=1;i<=n;++i)
dp[i]=max(dp[i-1],0ll)+a[i];
for(int i=1;i<=n;++i)
dp[i]=max(dp[i-1],dp[i]);
for(int i=1;i<=n;++i)
dp[i]%=MOD;
}
void solve2(){
ans=dp[1],mx=2*dp[1];
for(int i=2;i<=n;++i)
ans=max(ans,mx),
mx=max(mx,mx+dp[i]);
}
signed main(){
scanf("%d%d",&n,&MOD);
for(int i=1;i<=n;++i)
scanf("%lld",&a[i]),
pf[i]=pf[i-1]+a[i];
solve1();
solve2();
printf("%d\n",ans%MOD);
return 0;
}