博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最大字段和
阅读量:4216 次
发布时间:2019-05-26

本文共 853 字,大约阅读时间需要 2 分钟。

基准时间限制:1 秒 空间限制:131072 KB 分值: 0
收藏
关注
N个整数组成的序列a[1],a[2],a[3],…,a[n],
求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。
例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。
Input
第1行:整数序列的长度N(2 <= N <= 50000)第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9)
Output
输出最大子段和。
Input示例
6-211-413-5-2
Output示例

    20

需要注意的几点:

(1)当关闭cin同步时候,就不要用scanf,print 会出现读取不同步错 std::ios::sync_with_stdio(false);

(2)定义long long 类型的数据 需要 scanf("%lld")读取

(3)发现在这题中 关闭 cin同步 竟然比scanf,printf还要快

#include
using namespace std;typedef long long LL;const int MAXN = 50000+5;LL a[MAXN];int main() { std::ios::sync_with_stdio(false); int n; cin >> n; for(int i = 0; i < n; ++i){ cin >> a[i]; } LL m = 0; LL cur_max = 0; LL sum = 0; for(int i = 0; i < n; ++i){ sum += a[i]; if(sum < 0) sum = 0; if(sum > cur_max){ cur_max = sum; } } cout << cur_max; return 0; }

转载地址:http://oeimi.baihongyu.com/

你可能感兴趣的文章
轩辕实验室丨欧盟EVITA项目预研 第一章(一)
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(二)
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(三)
查看>>
专利 | 一种基于深度学习的车载CAN总线入侵检测方法
查看>>
VCU解决方案及核心L9788复杂驱动功能安全审计启动
查看>>
助力“探月工程”的单元测试工具可10倍提升测试效率
查看>>
构建实时数仓 - 当 TiDB 偶遇 Pravega
查看>>
TiDB 容器化部署面面观丨「能量钛」圆桌论坛回顾
查看>>
TiDB 在网易游戏的应用实践
查看>>
迁移实战:Discourse 从 PostgreSQL 到 MySQL 到 TiDB丨AskTUG 论坛背后的故事
查看>>
TiDB Operator 源码阅读 (四) 组件的控制循环
查看>>
TiDB 5.1 发版,打造更流畅的企业级数据库体验
查看>>
2020-11-04
查看>>
OC笔记NSDate
查看>>
求两个分数的加减乘除,并比较大小
查看>>
day1: Objective-C概述、面向对象编程、类和对象、实例变量操作
查看>>
day2:实例变量可见度、方法、setter、getter
查看>>
day3: 继承、初始化方法、便利构造器
查看>>
day4_1: NSString 和 NSMutableString 的使用
查看>>
day4_2: 数组NSArray NSMutableArray、值对象NSNumber、NSValue
查看>>