[bzoj1811] [Ioi2005]mea
Posted czllgzmzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[bzoj1811] [Ioi2005]mea相关的知识,希望对你有一定的参考价值。
还是比较好想到的..设第一个数为x,那么以后的所有数都能用x和M表示出来。
然后再根据非递减的限制条件得出x的取值范围。
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #define ll long long 5 using namespace std; 6 const int maxn=5002333; 7 int i,j,k,n,m; 8 9 int ra;char rx; 10 inline int read(){ 11 rx=getchar(),ra=0; 12 while(rx<\'0\'||rx>\'9\')rx=getchar(); 13 while(rx>=\'0\'&&rx<=\'9\')ra*=10,ra+=rx-48,rx=getchar();return ra; 14 } 15 int main(){ 16 ll sm,mx,mn;int pre,now; 17 n=read();pre=mn=sm=read(),mx=-(1<<30); 18 for(i=2;i<=n&&mx<=mn;i++){ 19 now=read(); 20 if(i&1)sm+=now-pre,mn=min(mn,sm);else sm+=pre-now,mx=max(mx,sm); 21 // printf(" %lld %lld sm:%lld\\n",mx,mn,sm); 22 pre=now; 23 } 24 if(mx>mn)puts("0");else printf("%lld\\n",mn-mx+1); 25 }
以上是关于[bzoj1811] [Ioi2005]mea的主要内容,如果未能解决你的问题,请参考以下文章