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

学到的:

  • 变量之间的灵活赋值
  • 求最大值函数的灵活应用
相关推荐
tjl521314_213 小时前
04C++ 名称空间(Namespace)
开发语言·c++
ximu_polaris3 小时前
设计模式(C++)-行为型模式-备忘录模式
c++·设计模式·备忘录模式
tankeven7 小时前
C++ 智能指针
c++
handler019 小时前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
许长安9 小时前
RPC 异步调用基本使用方法:基于官方helloworld-async 示例
c++·经验分享·笔记·rpc
sparEE10 小时前
c++面向对象:对象的赋值
开发语言·c++
此生决int10 小时前
快速复习之数据结构篇——栈和队列
数据结构·c++
H_BB10 小时前
第17届蓝桥杯备战历程
c++·算法·职场和发展·蓝桥杯
daad77711 小时前
记录一次上下文切换次数的统计
服务器·c++·算法
tankeven11 小时前
C++ Lambda 表达式
c++