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 ...
随机推荐
- 【float】与【position】汇总
代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- elasticsearch 动态模板设置
自定义动态映射 如果你想在运行时增加新的字段,你可能会启用动态映射.然而,有时候,动态映射 规则 可能不太智能.幸运的是,我们可以通过设置去自定义这些规则,以便更好的适用于你的数据. 日期检测 当 E ...
- Premiere导入视频之后音频轨没有内容
我用手机录的视频,在导入premiere新建序列之后呢并没有声音啊,音频轨没有内容.去贴吧里面问啊什么的都不靠谱,热心回答的人也不多.想学到东西,在这个年代如果你不愿意掏钱的话就只能靠一个办法:搜索. ...
- js的各种验证
验证手机号格式是否正确 // 判断是否为手机号 isPoneAvailable: function (pone) { var myreg = /^[1][3,4,5,7,8][0-9]{9}$/; i ...
- IntelliJ IDEA 界面介绍及常用配置
一:配置Maven File-->Settings-->搜索框输入maven -->配置maven home directory 跟 user setting file 二:配置JD ...
- QWidget窗口类
import sys from PyQt5.QtWidgets import QWidget, QApplication,QPushButton from PyQt5.QtGui import QIc ...
- [C++]Linux之间隔时间内循环执行指定程序
#include<time.h> #include<unistd.h>//usleep(num) #include<stdio.h> #include<std ...
- luogu P4161 [SCOI2009]游戏
传送门 我们发现整个大置换中,会由若干形如\((a_1\rightarrow a_2,a_2\rightarrow a_3,...a_{n-1}\rightarrow a_n,a_n\rightarr ...
- NodeJs进击,新建一个Node Server
直接新建一个server.js 然后 输入以下代码 var http = require('http') http.createServer(function(req,res){ res.writeH ...
- Pycharm+Anaconda安装及配置
Pycharm是一款功能非常强大的IDE,配合Anaconda使用会非常的方便. 在安装Pycharm之前,我们的电脑上已经安装了Anaconda. 我们从官网下载Pycharm社区版.(https: ...