1 条题解
-
3
#include <bits/stdc++.h> #define int long long #ifndef ONLINE_JUDGE #define DEBUG #endif const int N = 1e7+10; using namespace std;
int a[N], pfx[N], pmin[N], pmax[N];
signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
memset(pmin, 0x3f, sizeof pmin); memset(pmax, 0xcf, sizeof pmax); int n;cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; pfx[i] = pfx[i-1] + a[i]; pmin[i] = min(pmin[i-1], pfx[i]); pmax[i] = max(pmax[i-1], pfx[i]); } pmin[0] = pmax[0] = 0; int situation1 = -1e14, situation2 = -1e14; for(int r=2;r<=n;r++) { situation1 = max(situation1, pfx[r] - pmin[r-1]); } for(int r=2;r<=n;r++) { int tmp = pfx[r] - pmax[r-1]; situation2 = max(situation2, pfx[n] - tmp); } cout<<max(situation1, situation2); return 0;}
信息
- ID
- 5972
- 时间
- 1000ms
- 内存
- 500MiB
- 难度
- 5
- 标签
- 递交数
- 323
- 已通过
- 88
- 上传者