手写读入加速
读入int 类型
使用方法 a[i] = read();
不用在乎数字前面的空格、换行之类的
非负数
inline int read() {
int x=0;
char c=getchar();
while(c<'0'||c>'9') c=getchar();
while(c>='0'&&c<='9') x=x*10+c-'0', c=getchar();
return x;
}
有负数
inline int read() {
int x=0, sign=1;
char c=getchar();
while((c<'0'||c>'9')&&c!='-') c=getchar();
if(c=='-') sign=-1, c=getchar();
while(c>='0'&&c<='9') x=x*10+c-'0', c=getchar();
return x*sign;
}
读入long long 类型
非负数
inline ll read() {
ll x=0;
char c=getchar();
while(c<'0'||c>'9') c=getchar();
while(c>='0'&&c<='9') x=x*10+c-'0', c=getchar();
return x;
}
有负数
inline ll read() {
ll x=0, sign=1;
char c=getchar();
while((c<'0'||c>'9')&&c!='-') c=getchar();
if(c=='-') sign=-1 , c=getchar();
while(c>='0'&&c<='9') x=x*10+c-'0', c=getchar();
return x*sign;
}