本文共 853 字,大约阅读时间需要 2 分钟。
第1行:整数序列的长度N(2 <= N <= 50000)第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9)
输出最大子段和。
6-211-413-5-2
20
需要注意的几点:
(1)当关闭cin同步时候,就不要用scanf,print 会出现读取不同步错 std::ios::sync_with_stdio(false);
(2)定义long long 类型的数据 需要 scanf("%lld")读取
(3)发现在这题中 关闭 cin同步 竟然比scanf,printf还要快
#includeusing namespace std;typedef long long LL;const int MAXN = 50000+5;LL a[MAXN];int main() { std::ios::sync_with_stdio(false); int n; cin >> n; for(int i = 0; i < n; ++i){ cin >> a[i]; } LL m = 0; LL cur_max = 0; LL sum = 0; for(int i = 0; i < n; ++i){ sum += a[i]; if(sum < 0) sum = 0; if(sum > cur_max){ cur_max = sum; } } cout << cur_max; return 0; }
转载地址:http://oeimi.baihongyu.com/