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

学到的:

  • 变量之间的灵活赋值
  • 求最大值函数的灵活应用
相关推荐
unicrom_深圳市由你创科技10 小时前
哪些控制逻辑应该放在 PLC,哪些放在上位机?
c++
玖玥拾12 小时前
C/C++ 基础笔记(十三)继承
c语言·c++·继承
ao-weilai13 小时前
C++:哈希表
c++·哈希算法·散列表
汉克老师13 小时前
GESP7级C++考试语法知识(二、指数函数(1、pow() 函数)
c++·指数函数·pow·gesp7级·精度误差
旖-旎13 小时前
FloodFill(图像渲染)(1)
c++·算法·深度优先·力扣
汉克老师15 小时前
GESP2026年3月认证C++六级真题与解析(编程题1 选数)
c++·动态规划·线性dp·gesp六级·状态转移·选与不选
有点。15 小时前
C++倍增法(练习题)
c++·算法
凡人叶枫15 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
C语言小火车15 小时前
什么时候用智能指针?什么时候用裸指针?
c语言·c++·学习·指针
玖玥拾16 小时前
C/C++ 基础笔记(十二)友元、运算符重载
c语言·c++·运算符重载·友元