蓝桥杯备考:前缀和算法之最大子段和

P1115 最大子段和 - 洛谷 | 计算机科学教育新生态

我们枚举以a[i]为结尾的子段,找出最大的子段

cpp 复制代码
#include <iostream>
using namespace std;
const int N = 2e5+10;
int a[N],f[N];
int main()
{
	int n;cin >> n;
	for(int i = 1;i<=n;i++)
	{
		cin >> a[i];
		f[i] = f[i-1] + a[i];
	}
	int ret = -2e5+10;
	int premin = 0;
	for(int i = 1;i<=n;i++)
	{
		ret=max(ret,f[i]-premin);
		premin = min(premin,f[i]);
	}
	cout << ret << endl;
	
	return 0;
}
相关推荐
Liu628884 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星5 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
条tiao条5 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名5 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
zzh940776 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法
2301_807367196 小时前
C++中的解释器模式变体
开发语言·c++·算法
愣头不青6 小时前
617.合并二叉树
java·算法
MIUMIUKK7 小时前
双指针三大例题
算法
灵感__idea7 小时前
Hello 算法:复杂问题的应对策略
前端·javascript·算法
2301_819414308 小时前
C++与区块链智能合约
开发语言·c++·算法