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

学到的:

  • 变量之间的灵活赋值
  • 求最大值函数的灵活应用
相关推荐
王老师青少年编程5 小时前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝案例实践1)
c++·csp·高频考点·信奥赛·提高组·搜索剪枝·小木棍
王老师青少年编程8 小时前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝核心思想 )
c++·dfs·csp·信奥赛·搜索剪枝·搜索优化
一拳一个呆瓜8 小时前
【STL】使用 C++ 标准库标头
c++·stl
王老师青少年编程9 小时前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝案例实践2)
c++·信奥赛·csp-s·提高组·搜索剪枝·生日蛋糕·最优性剪枝
c++之路9 小时前
C++ 设计模式全总结
java·c++·设计模式
c238569 小时前
c/c++中的多态(上)
开发语言·c++
彷徨而立9 小时前
【C++】介绍 std::ifstream 输入文件流
开发语言·c++
MC皮蛋侠客10 小时前
C++17 多线程系列(十):多线程性能优化——从测量到调优
c++·多线程
程序大视界10 小时前
【C++ 从基础到项目实战】C++(六):拷贝控制——浅拷贝与深拷贝,兼谈智能指针
开发语言·c++·cpp
代码中介商11 小时前
C++四大设计模式:单例、工厂、观察者、策略
java·c++·设计模式