文章

10

粉丝

102

获赞

0

访问

5.3k

头像
最大序列和 题解:时间超限怎么办
P1172 清华大学/兰州大学2019机试
发布于2024年3月18日 16:47
阅读数 506

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	while(cin>>n){
		int a[n];
		int sum[n]={0};
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum[i]=sum[i-1]+a[i];
		}
		int max=-1e9;
		for(int i=1;i<=n;i++){
			for(int j=i;j<=n;j++){
				int ans=sum[j]-sum[i-1];
				if(max<ans){
					max=ans;
				}
			}
		}
		cout<<max<<endl;
	}
}

 

登录查看完整内容


登录后发布评论

2 条评论
快乐小土狗
2024年3月18日 18:06

这个题目应该是O(n)的解法,你这个O(n^2)肯定不行

看一下书上动态规划那一章的例题

赞(0)

08193003 : 回复 快乐小土狗: ok xx

2024年3月18日 22:19