读入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;
}