看到这道题,第一反应:前缀和
BUT,前缀和貌似过不了QAQ
看了看难度:感觉我省一白拿了QAQ
然后,仔细想了想,写了一个看似对的算法,结果竟然。。。
时间复杂度:
O(n)
空间:
O(1)
int n,k,ans=-23333333;
int main()
{
n=read();
fr(i,1,n)
{
k=k+read();//当前的子段和
ans=max(ans,k);//update
k=k>0?k:0;//小于0不如不要
}
printf("%d\n",ans);
return 0;
}