孔~~~

令人恐惧的快读

fread yyds

(本文输入数据皆为 1e9 即1亿个int数据)

step 1

  cin>>x;

时间:82s

step 2

  scanf("%d",&x);

时间:65s

step 3

inline int aread(){
  int x=0,f=0;
  char ch= getchar();
  while(ch<'0'||ch>'9'){
    f|=(ch == '-');
    ch = getchar();
  }
  while(ch>='0'&&ch<='9'){
    x=(x<<1)+(x<<3)+(ch^48);
    ch=getchar();
  }
  return f?-x:x;
}

  x=read();

时间:18s

step 4

namespace fastIO {
  #define BUF_SIZE 100000
  bool IOerror = 0;
  inline char nc() {
    static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_SIZE;
    if(p1 == pend) {
      p1 = buf;
      pend = buf + fread(buf, 1, BUF_SIZE, stdin);
      if(pend == p1) {
        IOerror = 1;
        return -1;
      }
    }
    return *p1++;
  }
  inline bool blank(char ch) {
    return ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t';
  }
  inline void read(int &x) {
    char ch;
    while(blank(ch = nc()));
      if(IOerror) return;
    for(x = ch - '0'; (ch = nc()) >= '0' && ch <= '9'; x = x * 10 + ch - '0');
  }
  #undef BUF_SIZE
};
using namespace fastIO;

read(x);

时间:3s

posted on 2021-06-06 11:56  孔~~~  阅读(31)  评论(0编辑  收藏  举报

导航