标签:input family 个数 1.5 getchar 处理 标准输入 sof 文件中
本题一共存在4种序列, 他们的平均数序列都是2,3,9。这四种序列如下:
* 2,2,8,10
* 1,3,7,11
* 0,4,6,12
*-1,5,5,13
题解:显然只要S1确定了,那么其他所有数都确定了。那么我们将所有数都用S1表示,显然,当i为奇数时,Si可以表示成$(M_1-M_2+M_3-...+M_{i-1})\times 2 - S_1$,当i为偶数时,$S_i=(-M_1+M_2-M_3+...+M_{i-1})+S_1$。又因为$S_{i-1}<S_i$,所以我们相当于得到了n个一元一次不等式,求出不等式组的解即可。
#include <cstdio> #include <cstring> #include <iostream> using namespace std; typedef long long ll; const int maxn=5000010; int n; ll l,r; ll s[maxn]; inline int rd() { int ret=0,f=1; char gc=getchar(); while(gc<‘0‘||gc>‘9‘) {if(gc==‘-‘)f=-f; gc=getchar();} while(gc>=‘0‘&&gc<=‘9‘) ret=ret*10+gc-‘0‘,gc=getchar(); return ret*f; } int main() { n=rd(),l=-1ll<<40,r=1ll<<40; int i; for(i=1;i<=n;i++) { s[i]=-s[i-1]+(rd()<<1); if(i&1) r=min(r,(s[i]-s[i-1])>>1); else l=max(l,(s[i-1]-s[i])>>1); } printf("%lld",max(r-l+1,0ll)); return 0; }
标签:input family 个数 1.5 getchar 处理 标准输入 sof 文件中
原文地址:http://www.cnblogs.com/CQzhangyu/p/7605527.html