B4133 [信息与未来 2014] 最大连续部分和
题目描述
有 n 个整数排成一排,求其中的最大连续部分和。
至少要选一个数。
输入格式
第一行一个整数,表示 n。
第二行 n 个整数 x_1,x_2,\cdots,x_n,相邻两数之间有一个空格。
输出格式
一个整数(即最大的连续的部分和)。
输入输出样例 #1
输入 #1
7
-2 13 12 9 14 -10 2
输出 #1
48
说明/提示
本题相较于原题数据范围有所加强,略微卡常,请使用较快的输入输出方式。
1\le n\le 10^7,0\le |x_i|\le 10^8。
My code:
#include <bits/stdc++.h>
using namespace std;
int ans=-1e9;
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int n;
scanf("%d",&n);
for(int i=1,a,b;i<=n;i++){
scanf("%d",&a);
if(i==1){
b=a;
}else{
b=max(a,a+b);
}
ans=max(ans,b);
}
printf("%d",ans);
}
求条。