fread()模板
char buf[1<<20],*p1,*p2; #define GC (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)?0:*p1++)//提交时使用 //#define GC getchar()//getchar()用于调试,要慢很多 inline ll read_64(){ll X=0,w=0; char ch=0;while(!isdigit(ch)) {w|=ch=='-';ch=GC;}while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=GC;return w?-X:X;}//read_64读long long inline int read_32(){int X=0,w=0; char ch=0;while(!isdigit(ch)) {w|=ch=='-';ch=GC;}while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=GC;return w?-X:X;}//read_32读int 来源: https://www.cnblogs.com/pepparan/p/11800768.html