题解 | 看我!
最大序列和
https://www.nowcoder.com/practice/df219d60a7af4171a981ef56bd597f7b
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
#define LL long long
#define fas(i,a,b) for(int i=a;i<b;++i) //[)
#define mm memset
const int MAXN= 1000000;
LL nums[MAXN];
LL dp[MAXN];
int main()
{
ios::sync_with_stdio(false);
int n;
while (cin >> n)
{
LL ans=-10000;
fas(i,0,n)
cin>>nums[i];
mm(dp,0,sizeof(int)*n);
dp[0]=nums[0];
fas(i,1,n)
dp[i]=max(nums[i],nums[i]+dp[i-1]);
fas(i,0,n)
ans=max(ans,dp[i]);
cout<<ans<<endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")
查看8道真题和解析
