cf789c
主要是线性时间内求最大连续和
#include<bits/stdc++.h>
using namespace std;
#define maxn 200005
#define ll long long int n,a[maxn];
ll ans; ll solve(){
ll Max=-,Min=,sum[maxn];
sum[]=;
for(int i=;i<n;i++){
sum[i]=sum[i-]+a[i];
Min=min(Min,sum[i]);
Max=max(Max,sum[i]-Min);
}
return Max;
} int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
for(int i=;i<=n-;i++) a[i]=abs(a[i+]-a[i]);
for(int i=;i<=n-;i++) if(i%==) a[i]/=-;
ans=-;
ans=max(ans,solve());
for(int i=;i<=n-;i++) a[i]*=-;
ans=max(ans,solve());
printf("%lld",ans);
}
cf789c的更多相关文章
- CF789C. Functions again
/* CF789C. Functions again http://codeforces.com/contest/789/problem/C 水题 题意:求数组中的连续和的最大值 */ #includ ...
- 【cf789C】Functions again(最大子序列和)
C.Functions again 题意 给你一个数组a[1..n].有一个函数\(f(l,r)=\sum_{i=l}^{r-1}\left| a[i]-a[i+1]\right| (-1)^{l-i ...
随机推荐
- CSS3:文字属性
文字属性注意的细节: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 函数和常用模块【day04】:函数介绍(一)
本节内容 1.函数介绍 2.函数定义 3.为什么要使用函数 一.介绍 在我们以往的学习编程的过程当中,碰到的最多的两张编程方式或者说编程方法:面向过程和面向对象.其实不管是哪一种,其实都是编程的方法论 ...
- CM记录-迁移JournalNode和Service Monitor超时解决方案
1.迁移JournalNode节点 当你在HDFS服务中新加入一个JournalNode角色时,JournalNode角色需要的数据目录是没有被创建的.但你启用HDFS的HA后,NameNode必须需 ...
- ThreadLocal以及内存泄漏
ThreadLocal是什么 ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度.但是如果滥用Thr ...
- Error: failed to execute 'C:\Keil\ARM\ARMCC'的解决办法
在KEIL新建工程时,容易出现该问题,我查了一些资料,最终找到该问题解决方法: 第一步:在keil里的菜单栏依次选择Project->Manage->Components,Environm ...
- SQL——sql年龄段查询
select * from 表 p where p.gender <> '男' ) ) select * ) ) 查询出所有年龄在15~49岁的非男性的信息
- 后端python基础
- Python 入门基础18 --re模块+内存管理
今日内容: 1.垃圾回收机制 2.re模块 一.垃圾回收机制 在计算机中,不能被程序访问到的数,称之为垃圾 1.1 引用计数 引用计数用来记录值的内存地址被记录的次数 每引用一次就对标记 +1 操作 ...
- MoveIt! 源安装
rosdep update sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install python-wstool pytho ...
- Python爬虫-爬取百度贴吧帖子
这次主要学习了替换各种标签,规范格式的方法.依然参考博主崔庆才的博客. 1.获取url 某一帖子:https://tieba.baidu.com/p/3138733512?see_lz=1&p ...