题解 | #最大序列和#

最大序列和

https://www.nowcoder.com/practice/df219d60a7af4171a981ef56bd597f7b

注意本题数据较大,需要用到 long long 类型(long 类型与 int 类型 都为四字节,因此范围相同)
#include<iostream>
using namespace std;

const int maxn=1000001;
long long N[maxn];
long long dp[maxn];

long long getmaxdp(int n){
	dp[0]=N[0];
	int i=1;
	while(i<n){
		if(dp[i-1]>0){
			dp[i]=dp[i-1]+N[i];
		}else{
			dp[i]=N[i];
		}
		i++;
	}
	long long answer=dp[0];
	for(int i=0;i<n;i++){
		if(dp[i]>answer){
			answer=dp[i];
		}
	}
	return answer;
}

int main(){
	int n;
	while(cin>>n){
		for(int i=0;i<n;i++){
			cin>>N[i];
		}
		cout<<getmaxdp(n)<<endl;
	}
} 


全部评论

相关推荐

投递长鑫存储等公司8个岗位
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务