首页 > 其他分享 >最大双子段和

最大双子段和

时间:2024-09-23 12:34:42浏览次数:6  
标签:200005 int max back long 双子 front 最大

一个正向取前缀和,一个反向取,最后枚举断点。

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n,sum;
int a[200005];
int front[200005];
int back[200005];

int main(){
    ios::sync_with_stdio(false);
	cin>>n;
	
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	front[1]=a[1];
	for(int i=2;i<=n;i++){
		front[i]=max(front[i-1],0)+a[i];
	}
	for(int i=2;i<=n;i++){
		front[i]=max(front[i-1],front[i]);
		cout<<front[i]<<" ";
	}
	cout<<"\n";
	back[n]=a[n];
	for(int i=n-1;i>=1;i--){
		back[i]=max(back[i+1],0)+a[i];
	}
	for(int i=n-1;i>=1;i--){
		back[i]=max(back[i+1],back[i]);
		cout<<back[i]<<" ";
	}
	int ans=-1e9;
	for(int i=2;i<n;i++){
		ans=max(ans,front[i-1]+back[i+1]);
	}
	cout<<ans;
	
    return 0;
}

标签:200005,int,max,back,long,双子,front,最大
From: https://www.cnblogs.com/sadlin/p/18426851

相关文章

  • [Python手撕]二叉树最大宽度
    #Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defwidthOfBinaryTree(self,root:Optional[......
  • 返回数组中的最大元素个数
    /***返回数组中的最大元素个数*约束:*数组大小1<=size<=10to5*数组元素大小1<=arrList[i]<=10to7*@paramcandles*@return*/publicstaticintbirthdayCakeCandles(List<Integer>candles){if(cand......
  • 在 JavaScript 中使用最小和最大堆管理流数据:数字运动员健康技术视角
    数据管理在健康技术中至关重要。无论是跟踪运动员的表现指标还是监控运动员的恢复时间,有效地组织数据都可以对洞察的获取方式产生重大影响。在这种情况下管理数据的一种强大工具是堆,特别是最小堆和最大堆。在这篇文章中,我们将使用与运动员数据管理相关的实际示例,探索如何在javasc......
  • 抖音团购:商家实现利益最大化之路
    在如今这个数字化时代,抖音团购已经成为众多商家拓展业务、提升收益的重要渠道。那么,如何做才能让商家在抖音团购中实现最大利益化呢?一、精心打造商品或服务首先,商家提供的商品或服务质量是根本。确保产品具有高品质、独特性和实用性。对于餐饮商家来说,美味的菜品、优质的食材......
  • 1.JDK自带的线程池有哪些?2.线程池中核心线程数与最大线程数与缓冲任务队列的关系?3.为
    1.JDK自带的线程池有哪些?2.线程池中核心线程数与最大线程数与缓冲任务队列的关系?在Java中的线程池(如ThreadPoolExecutor)中,核心线程数(corePoolSize)、最大线程数(maximumPoolSize)以及缓冲队列(workQueue)之间存在着密切的关系,它们共同决定了线程池如何管理和调度任务。以下是......
  • 最大公约数与最小公倍数
    前言:  最大公约数(最大公因数)是指两个或多个整数共有约数中最大的一个。最小公倍数是指两个或多个整数的公倍数里最小的那一个。最大公约数记为(a,b),最小公倍数是已知几个数的公倍数,且是最小的那一个。1.法一:辗转相除法 #include<stdio.h>intmain(){inta,b;......
  • Leecode 最大子数组和
    思路1:先了解前缀和的概念,  ,这题的答案可以转换为:将前缀和pre数组的下标作为x,下标对应的值作为y,建立坐标系得到一条pre折线,找到折现所有最小值与最大值差值最大的(最小值在前最大值在后)值就是本题的答案,也是与买卖股票最佳时机思路一样了思路2:对于以nums[j]元素为结尾的最大......
  • Leecode 滑动窗口最大值
     使用了双向链表输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释过程中队列中都是具体的值,方便理解,具体见代码。初始状态:L=R=0,队列:{}i=0,nums[0]=1。队列为空,直接加入。队列:{1}i=1,nums[1]=3。队尾值为1,3>1,弹出队尾值,加入3。队列:{3}i=2,nums[......
  • 配置 sql server 最大内存 sqlserver内存最佳配置
    sqlserver微软安装根据业务特点来考虑1、分析产品业务数据的增长量预估某些关键业务数据在一定时间内的增长量,预估数据在未来的增长数据,2、了解产品业务操作类型。考虑业务是以查询为主还是以更新为主。从而选择多大的内存。SQLserver配置1、服务端的SQLserver配置管......
  • 阿里史上最大规模开源发布,超GPT-4o 、Llama-3.1!
    今天凌晨,阿里巴巴官宣了史上最大规模的开源发布,推出了基础模型Qwen2.5、专用于编码Qwen2.5-Coder和数学的Qwen2.5-Math。这三大类模型一共有10多个版本,包括0.5B、1.5B、3B、7B、14B、32B和72B,适用于个人、企业以及移动端、PC等不同人群不同业务场景的模型。如果不想进行繁琐......