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; 
}

学到的:

  • 变量之间的灵活赋值
  • 求最大值函数的灵活应用
相关推荐
OPEN-F13 小时前
C++进阶教程:继承与多态
开发语言·c++
luj_176815 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
刃神太酷啦16 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
汉克老师19 小时前
CSP-J 初赛(以满分为目标):第十五课《结构体、排序与自定义比较——从“给数字排队”到“给一群人排队”》
c++·csp-j·小学生·学c++编程
HugoStudio_SWAN20 小时前
C++ CMD 互动动画:按键触发爆炸效果
开发语言·c++·学习·程序人生
水饺编程20 小时前
第5章,[Win32 章节] :Polygon 函数和多边形填充模式
c语言·c++·windows·visual studio
wuminyu20 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
一木 之林21 小时前
C/C++ 面向对象编程(OOP)(进阶)
java·c语言·c++
千谦阙听1 天前
C++篇:类和对象(上)
开发语言·c++
_Narcissus_1 天前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治