• hdu 6205 card card card 尺取+超神读入挂


    题没啥好说的 

    我就是想把读入挂记录一下

    update(2017-10-03)

    把读入挂加上了调试 

     1 #include<bits/stdc++.h>
     2 #define cl(a,b) memset(a,b,sizeof(a))
     3 #define debug(a) cerr<<#a<<"=="<<a<<endl
     4 using namespace std;
     5 typedef long long ll;
     6 typedef pair<int,int> pii;
     7 
     8 const int maxn=1e6+10;
     9 
    10 int n;
    11 int a[maxn*2];
    12 int b[maxn*2];
    13 
    14 #define JUDGE
    15 
    16 #ifdef DEBUG
    17 inline bool read(int &ret)
    18 {
    19     if(scanf("%d",&ret)==EOF) return false;
    20     return true;
    21 }
    22 #endif  DEBUG
    23 
    24 #ifdef JUDGE
    25 namespace fastIO {
    26     #define BUF_SIZE 100000
    27     //fread -> read
    28     bool IOerror = 0;
    29     inline char nc() {
    30         static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_SIZE;
    31         if(p1 == pend) {
    32             p1 = buf;
    33             pend = buf + fread(buf, 1, BUF_SIZE, stdin);
    34             if(pend == p1) {
    35                 IOerror = 1;
    36                 return -1;
    37             }
    38         }
    39         return *p1++;
    40     }
    41     inline bool blank(char ch) {
    42         return ch == ' ' || ch == '
    ' || ch == '
    ' || ch == '	';
    43     }
    44     inline bool read(int &x) {
    45         char ch;
    46         while(blank(ch = nc()));
    47         if(IOerror)
    48             return false;
    49         for(x = ch - '0'; (ch = nc()) >= '0' && ch <= '9'; x = x * 10 + ch - '0');
    50         return true;
    51     }
    52     #undef BUF_SIZE
    53 };
    54 using namespace fastIO;
    55 #endif JUDGE
    56 
    57 int chiqu(int n)
    58 {
    59     int sum=0,mx=0,ans=0;
    60     for(int l=1,r=1; l<=n&&r<=n;)
    61     {
    62         if(sum>0) sum+=(a[r]-b[r++]);
    63         if(r-l+1>=mx)
    64         {
    65             mx=r-l+1;
    66             ans=l-1;
    67         }
    68         if(sum<=0) sum-=(a[l]-b[l++]);
    69     }
    70     return ans;
    71 }
    72 
    73 int main()
    74 {
    75     while(read(n))
    76     {
    77         for(int i=1; i<=n; i++) read(a[i]);
    78         for(int i=1; i<=n; i++) read(b[i]);
    79         for(int i=1; i<=n; i++) a[i+n]=a[i],b[i+n]=b[i];
    80         int ans=chiqu(2*n);
    81 //        debug(ans);
    82         printf("%d
    ",ans);
    83     }
    84     return 0;
    85 }/*
    86 
    87 5
    88 4 6 2 8 4
    89 1 5 7 9 2
    90 
    91 */
  • 相关阅读:
    协方差矩阵
    Adobe Photoshop CS6下载安装
    等差数列
    照片产尺寸
    移动立方体算法
    float与double的范围和精度
    C/C++运算符优先级
    通过 Windows API 获取鼠标位置等状态信息
    VC++ 获取鼠标状态,获取鼠标弹起消息
    python动态给对象或者类添加方法
  • 原文地址:https://www.cnblogs.com/general10/p/7502667.html
Copyright © 2020-2023  润新知