社区讨论

为什么在不超时下还会错

灌水区参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo27hcgr
此快照首次捕获于
2023/10/23 09:15
2 年前
此快照最后确认于
2023/11/03 09:30
2 年前
查看原帖
/*
50 6 -47 -75 0 40 46 94 -66 55 75 -33 8 94 -65 -39 40 -98 -58 29 20 71 -11 55 57 -82 95 -56 85 1 -75 83 48 32 68 25 -34 -21 27 42 -48 20 -36 0 -16 -60 -62 -70 -43 36 -5 77 应输出:256 */
CPP
#include <iostream>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
using namespace std;
int n,m,a[200005];
long long sum[200005],dp[200005];

int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]),sum[i]=sum[i-1]+a[i],dp[i]=-1001;
	long long ans=-1001;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=i;j++)
		{
			dp[i]=max(dp[i],sum[i]-sum[j-1]);
		}
			ans=max(ans,dp[i]);
	}
	cout<<ans;
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...