zoukankan      html  css  js  c++  java
  • [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
    ",mx,mn,sm);
    22         pre=now;
    23     }
    24     if(mx>mn)puts("0");else printf("%lld
    ",mn-mx+1);
    25 }
    View Code
  • 相关阅读:
    SQL高级应用
    li元素之间产生间隔
    js array
    js高阶函数汇总
    git学习记录
    static和assets的区别
    router-link
    vue 创建项目 create和init
    vue的store状态管理模式
    vue中的各种属性
  • 原文地址:https://www.cnblogs.com/czllgzmzl/p/5622180.html
Copyright © 2011-2022 走看看