提交时间:2026-06-12 15:02:05

运行 ID: 91072

#include<bits/stdc++.h> using namespace std; int a[1000005]; __int128 mx[1000005],f[1000005]; main() { int n,mod; cin>>n>>mod; for(int i=1;i<=n;i++) cin>>a[i]; f[1]=a[1]; mx[1]=a[1]; for(int i=2;i<=n;i++) { f[i]=max(__int128(a[i]),f[i-1]+a[i]); mx[i]=max(mx[i-1],f[i]); } __int128 sum=mx[1]*2,ans=mx[1]; for(int i=2;i<=n;i++)//题意模拟 { ans=max(ans,sum); sum=max(sum,mx[i]+sum); } cout<<(long long)(ans%mod); return 0; }