纯属原创。
namespace IO{
const int RBSIZE=___,WBSIZE=___;
char CH,id,RBUF[RBSIZE],*p1=RBUF,*p2=RBUF,WBUF[WBSIZE],*Op=WBUF,OTBF[40];int FL,OTSZ;double pfl;
inline char gc(){if(p1==p2)return (p1=RBUF,p2=p1+fread(RBUF,1,RBSIZE,stdin)),p1==p2?EOF:*p1++;return *p1++;}
inline void pc(char k){if(Op==WBUF+WBSIZE)fwrite(WBUF,1,WBSIZE,stdout),Op=WBUF;*Op++=k;}
template<typename T>inline bool in(T&a){
a=0;CH=gc();FL=1;
while(CH!=EOF&&(CH<'0'||CH>'9'))FL=(CH=='-')?-1:1,CH=gc();
while(CH!=EOF&&CH>='0'&&CH<='9')a=a*10+CH-'0',CH=gc();
return a*=FL,CH==EOF?0:1;
}template<typename T,typename...Args>void in(T&a,Args&...args){in(a);in(args...);}
template<typename T>inline void out(T x){
if(!x)pc('0');if(x<0)pc('-'),x=-x;
for(;x;x/=10)OTBF[++OTSZ]=x%10+'0';for(;OTSZ;--OTSZ)pc(OTBF[OTSZ]);
}}using namespace IO;
变态版快读模板,我就搁在这儿
寒假弄得,现在发现似乎有用(