快读快写 1.0: char c=' ';ll in(void){ ll x=0;bool bl=false; while(!isdigit(c)) { bl^=c=='-'; c=getchar(); } while(isdigit(c)) { x=(x<<1)+(x<<3)+(c^48); c=getchar(); } return bl?-x:x; }template<typename t>void out(t x){ if(x<0)pc('-'),x=-x; if(x>9)out(x/10); pc(x%10+48);} 2.0(仅适用于文件读写): char buf[1 << 23], *p1 = buf, *p2 = buf;#define getchar() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 23, stdin), p1 == p2) ? EOF : *p1++)