最大子段和
来源:互联网 发布:开淘宝网店需要多少钱 编辑:程序博客网 时间:2024/05/18 20:07
题目描述
给出一段序列,选出其中连续且非空的一段使得这段和最大。
输入格式:
第一行是一个正整数N,表示了序列的长度。
第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。
输出格式:
仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。
【数据规模与约定】
对于40%的数据,有N ≤ 2000。
对于100%的数据,有N ≤ 200000。
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<cstdlib>#include<algorithm>using namespace std;int n,b[200001][3],minn;int main(){ scanf("%d",&n); for(int i = 1;i<=n;i++){ scanf("%d",&b[i][0]); b[i][1] += b[i][0] + b[i-1][1]; } b[1][2] = b[1][0]; minn = min(b[1][1],0); for(int i = 2;i<=n;i++){ b[i][2] = b[i][1] - minn; minn = min(minn,b[i][1]); } int maxn = -100001; for(int i = 1;i<=n;i++){ maxn = max(maxn,b[i][2]); } cout<<maxn; return 0;}
b[i][1]表示i之前的所有单位的和
minn存储i之前的不间断的单位的和的最小值
因为绝对值不大于10000,所以maxn初始值尽可能小,不能为0
阅读全文
0 0
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- “最大子段和”
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- 最大子段和
- pytorch使用(二)自定义网络
- java 集合HashSet
- 线性分类器定义和局限性
- intent.putExtra()数组 传入数组名称!不含[]
- C++ IOCP2
- 最大子段和
- 设计模式遵循的七大原则
- C语言小游戏入门之三子棋
- 关于Maven项目build时出现No compiler is provided in this environment的处理
- DL学习--GAN
- 《TCP/IP详解 卷1》 笔记: TCP的超时与重传
- myBatis 传入的参数是对的,但是总是没有返回结果
- spark特点
- linux --> shell --> cd,cp,mkdir...