题目描述

给出一段序列,选出其中连续且非空的一段使得这段和最大。

输入格式

第一行是一个正整数NN,表示了序列的长度。

第二行包含NN个绝对值不大于1000010000的整数A_iAi​,描述了这段序列。

输出格式

一个整数,为最大的子段和是多少。子段的最小长度为11。

输入输出样例

输入 #1复制

7
2 -4 3 -1 2 -4 3
输出 #1复制

4

说明/提示

【样例说明】

2,-4,3,-1,2,-4,32,−4,3,−1,2,−4,3中,最大的子段和为4,该子段为3,-1,23,−1,2.

【数据规模与约定】

对于40\%40%的数据,有N ≤ 2000N≤2000。

对于100\%100%的数据,有N ≤ 200000N≤200000。

思路:f[i]表示以i结尾的前i个数字中与第i个数字连续的最大子段和。

如果第i个数字加上f[i-1]变大了,那么f[i]=f[i-1]+a[i];

否则f[i]=a[i];

#include <iostream>
#include<bitset>
#include<string>
using namespace std;
const int maxn= ;
long long f[maxn];
long long a[maxn];
int main()
{
int n;
cin >> n;
for(int i=;i<=n;i++)
cin >> a[i];
f[]=a[];
long long ans=-1e18;
for(int i=;i<=n;i++)
{
f[i]=max(a[i],f[i-]+a[i]);
ans=max(ans,f[i]);
}
cout << ans << endl;
return ;
}

最新文章

  1. asp.net和js读取文件的MD5值的方法
  2. 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类
  3. Debian配置Apache2支持mod-python和cgi模块
  4. 百度Map与HT for Web结合的GIS网络拓扑应用
  5. HDU 1506 Largest Rectangle in a Histogram (dp左右处理边界的矩形问题)
  6. MVC中Asp.Net管道(二)
  7. HTTP 错误 500.19 - Internal Server Error
  8. ubuntu zend-eclipse-php debugger调试
  9. UVA - 11346 Probability (概率)
  10. pip 错误Requested **, but installing version **
  11. contentProvider内容提供者
  12. JSP自定义标签——传统标签
  13. FFmpeg的Android平台移植—编译篇
  14. JWT
  15. centos7通过nginx搭建SSL
  16. solr+zookeeper集群配置
  17. hdoj:2023
  18. Unity3D避免代码被反编译
  19. 3 TensorFlow入门之识别手写数字
  20. requestAnimationFrame 的实验性实践

热门文章

  1. eclipse切换 package explorer
  2. C语言写数据库(二)
  3. PTA 道长你想怎么死
  4. oracle判断一个字段为空
  5. C++入门经典-例6.5-连接字符串
  6. js手写笔记
  7. 界面之下:还原真实的 MV* 模式
  8. C++如何限制对象在堆上或栈上生成
  9. sqlserver2012语法
  10. Dark 数据类型