Description

考虑一个非递减的整数序列 S1,....Sn+1(Si<=Si+1  1<=i<=n)。 序列M1...Mn是定义在序列S的基础上,关系式为 Mi=( Si + S(i+1) )/2, 1<=i<=n, 序列M叫做序列S的平均数序列。例如序列1,2,2,4的平均数序列为 1.5,2,3.注意到平均数序列中的元素可能为小数。但是本题的任务只是处理平均数序列都为整数的情况。 给出一个n个数字的非递减的整数序列M1,M2...Mn.请你计算出:序列S,S1...S(n+1)的平均序列是M1,...,Mn。 求满足以上条件的序列S的总个数。 任务: * 从标准输入文件中读入一个非递减的整数序列。 * 计算出平均序列是给出序列的整数序列的总个数。 * 把计算结果写到标准输出文件中。

Input

输入文件的第一行包含一个整数n(2<=n<=5 000 000).接下来的n行包含了这个给出的整数序列M1,..,Mn. 第i+1行包含一个整数Mi(1<=mi<=1000000000).对于本题,50%的测试数据中n<=1000,0<=Mi<=20000.

Output

输出文件仅一行,即所求答案。
将s[2..i+1]用s[1]表示
代入不等式组s[i]+s[i+1]=2*m[i]解出s[1]的取值范围
#include<cstdio>
const int N=;
typedef long long i64;
inline int read(){
register int x=,c=getchar();
while(c>||c<)c=getchar();
while(c>&&c<)x=x*+c-,c=getchar();
return x;
}
int b[N],n;
i64 a[N],mx=1ll<<,mn=-(1ll<<);
int main(){
n=read();
for(int i=;i<=n;i++)b[i]=read();
a[]=;
for(int i=;i<=n;i++)a[i]=b[i]-a[i-];
for(int i=;i<n;i+=){
i64 x=a[i+]-a[i];
if(x<mx)mx=x;
}
for(int i=;i<n;i+=){
i64 x=a[i]-a[i+];
if(x>mn)mn=x;
}
if(mx>=mn)printf("%lld",mx-mn+);
else puts("");
return ;
}

bzoj1811 mea的更多相关文章

  1. 【BZOJ1811】[Ioi2005]mea 乱搞

    [BZOJ1811][Ioi2005]mea Description 考虑一个非递减的整数序列 S1,....Sn+1(Si<=Si+1 1<=i<=n). 序列M1...Mn是定义 ...

  2. [bzoj1811] [Ioi2005]mea

    还是比较好想到的..设第一个数为x,那么以后的所有数都能用x和M表示出来. 然后再根据非递减的限制条件得出x的取值范围. #include<cstdio> #include<iost ...

  3. bzoj 1811: [Ioi2005]mea 贪心,乱搞

    [Ioi2005]mea Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 690  Solved: 257[Submit][Status][Discuss ...

  4. [IOI2005]mea

    IOI 读完题,感觉这个题并不是很难,那我是不是可以去IOI了: 最先考虑暴力,发现完全行不通,所以,我们考虑其他方法.突然发现:其实在确定 \(s_1\) 的时候,整个序列就可以确定了,所以我们考虑 ...

  5. react-native ListView使用详解

    刚好今天七夕,呆萌的程序猿没有妹纸,刚好发小明天结婚,我还在异地,晚上还要苦逼的赶火车.趁着下午比较闲,更新一下Blog,也算是在百无聊赖之时给众多单身程序猿们的小福利吧,虽然已经好久没更了...囧 ...

  6. php字符串操作集锦

    web操作, 主要就是对字符文本信息进行处理, 所以, 字符串操作几乎占了很大一部分的php操作.包括 注意strstr 和 strtr的区别? 前者表示字符串查找返回字符串,后者表示字符串中字符替换 ...

  7. OpenWebGlobe-开源三维GIS初体验(附源码和演示)

    1.OpenWebGlobe简介 OpenWebGlobe是一个高性能的三维引擎.可应用于可视化仿真,游戏,三维GIS,虚拟现实等领域.它使用纯javascript编写,可以运行在任何支持HTML5. ...

  8. Python之路【第二十篇】Tornado框架

    Tornado Tornado是使用Python编写的一个强大的.可扩展的Web服务器.它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中. 我 ...

  9. 数据处理之CoreData

    一.CoreData数据库框架与Sqlite对比 Sqlite: 1.基于C接口, 需要使用sql语句, 代码繁琐 2.在处理大量数据时, 表关系更直观 3.在OC中不是可视化的 CoreData: ...

随机推荐

  1. MyBatis的简单入门学习

    一个新知识开始是最难学的.(万事开头难) MyBatis大体分三层,接口层,数据处理层,基础支撑层. 其中接口层不是java中的那个interface,而是框架和程序员之间的对接.一个API,程序员可 ...

  2. CSU 1968 Permutation Descent Counts

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1968 题意:对于任一种N的排列A,定义它的E值为序列中满足A[i]>A[i+1]的数的个 ...

  3. UVa 1636 决斗

    https://vjudge.net/problem/UVA-1636 题意: 首先在手枪里随机装了一些子弹,然后抠了一枪,发现没有子弹.你希望下一枪也没有子弹,是应该直接再抠一枪还是随机转一下再抠. ...

  4. Ubuntu14.04,16.04(桌面版)找回root 密码

    一.重启系统,按住shift键直到出现GUN GRUB界面(下图) 选择advanced options,按回车 然后移动选择到recovery mode ,接着按下e,不要按回车,因为我们要进入可写 ...

  5. Hbase Scan的重要参数

    Scan是操作Hbase中非常常用的一个操作,虽然前面的Hbase API操作简单的介绍了Scan的操作,但不够详细,由于Scan非常常用,关于其详细的整理也是很有必要的. Scan HBase中的数 ...

  6. (GoRails) Credential

    之前的博客:https://www.cnblogs.com/chentianwei/p/9167489.html Guide:  https://guides.rubyonrails.org/secu ...

  7. IOS-网络(JSON解析数据与XML解析数据)

    一.JSON解析数据 // // VideoModel.h // IOS_0130_网络视频 // // Created by ma c on 16/1/30. // Copyright © 2016 ...

  8. 非ie浏览器必备函数常识

    场景描述: 我们都知道IE浏览器和非IE浏览器都有很多功能一样但写法不同,或者各自都有一些自己独特的方法,那么为了保持兼容性和便于编写,我们可以通过这两个方法给非IE浏览器的对象增加自己没有,但IE有 ...

  9. jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)

    这个插件的名字elevatezoom,网址为http://www.elevateweb.co.uk/image-zoom,在github上的项目首页为https://github.com/elevat ...

  10. Constructor vs Object

    1. Constructor:是用于创建和初始化类中创建的一个对象的一种特殊方法. constructor([arguments]) { ... } 在一个类中只能有一个名为 “constructor ...