long long read() // x*f可能会爆int
{
int x=0,f=1; //数特别大时可以改成long long f默认位正数
char ch=getchar();
while(ch<'0'||ch>'9') //处理符号
{
if(ch=='-')
{
f=-1; //变成负数
}
ch=getchar(); //比cin好,可以读取空格
}
while(ch>='0'&&ch<='9') //处理数
{
x=(x<<1)+(x<<3)+(ch^48); //位运算,比x=x*10+ch-48更快
ch=getchar(); //同理
}
return x*f; //处理正负数
}
但是在题目要求输入很多空格的时候就不建议用快读啦 23333
比如这个:
1 2 3 4
5 6
7 8 9 10