3 solutions
-
1
更简80分写法:
#include<bits/stdc++.h> using namespace std; long long f[10000010],n,p,s=0,maxs=-2e18; int main(){ cin>>n>>p; for(int i=1;i<=n;i++){ int x; cin>>x; s=max(s,0ll)+x; maxs=max(maxs,s); f[i]=maxs; } long long res=f[1],score=2*f[1]; for(int i=2;i<=n;i++){ res=max(res,score); score=max(score,f[i]+score); } cout<<res%p; }
Information
- ID
- 443
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 8
- Tags
- # Submissions
- 28
- Accepted
- 5
- Uploaded By