求助,悬赏一关!!!
  • 板块题目总版
  • 楼主zyhnds
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/4/15 15:37
  • 上次更新2023/10/23 18:25:23
查看原帖
求助,悬赏一关!!!
725293
zyhnds楼主2023/4/15 15:37

最大子段和 老师给乐乐布置了一份作业,乐乐不知如 何解决,找你帮忙解决。老师给一串很长的 数列,要求从中找出连续的一段来使得总和 最大。 输入:第一行包括一个整数 n,表示数 列长度为 n (n<=100000)。 第二行包括 n 个整数来描述这个数列, 每个整数的绝对值不超过 1000。 输出:只有一个整数,为最大的连续段 总和。 样例输入: 5 1 -2 3 1 -4 样例输出: 4 算法分析:设 b[i]为以第 i 个位置的数结 尾的连续的最大子段和,若 b[i-1]大于 0,显 然 , b[i]=b[i-1]+a[i]; 如 果 b[i-1] 小 于 0 , 则 b[i]=a[i],这里应用了一个贪心思想。通过枚 举从第 1 个到第 n 个数结尾的连续的最大子 段和,就可以求出所有数中连续的最大子段 和。

#include<bits/stdc++.h>
using namespace std;
int a[100001],n,i,t,ans;
int main(){
for(i=1;i<=n;i++)
______;
t=a[1];
________;
for(i=2;i<=n;i++) {
if(t<0) _____;
else
_____;
if(t>ans) ______;
}
return 0;
}
2023/4/15 15:37
加载中...