P1115 最大子段和(max()函数)

题目:P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n;
signed main(){
	std::ios::sync_with_stdio(false);
	std::cin.tie(NULL);
	cin>>n;
	int a[200020],b[200020];
//求最大值时初始化用INT_MIN,要不然会报错
	int ans=INT_MIN;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(i==1) b[i]=a[i];
		//如果一个数加上上一个数,总和减少,就单独取本身,如果总和增大,则取相加之后的数 
		else b[i]=max(a[i],b[i-1]+a[i]);
		//实时更新当前得到的最大序列和 
		ans=max(ans,b[i]);
	}
	cout<<ans;
	return 0; 
}

学到的:

  • 变量之间的灵活赋值
  • 求最大值函数的灵活应用
相关推荐
骑着蜗牛撵大象32718 分钟前
从三次握手到 epoll:C++ 写出可落地的 TCP Socket 服务端
网络·c++·tcp/ip·高并发·tcp·epoll
卡卡~~26 分钟前
C++学习
开发语言·c++
杜 硕1 小时前
从零开始的C++生活——第四讲
开发语言·c++·生活
努力实干2 小时前
Qt/C++ 模块化设计与工程组织
开发语言·c++·qt
Rabitebla2 小时前
【Linux底层原理】 工具篇(二):Vim 编辑器基础操作与简单配置
linux·c++·编辑器·vim
Lhan.zzZ2 小时前
Qt:动态库模块框架设计
开发语言·c++·qt
wuminyu2 小时前
JVM规范学习总结-JVM规范基本概念
java·linux·c语言·jvm·c++
Demon--hx3 小时前
jsoncpp 核心概念梳理:命名空间、Value 容器与格式化输出
c++
syagain_zsx15 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
fpcc16 小时前
计算机原理—如何高效的操作文件
c++·计算机原理