【模板】:快读+int128
洛谷给的模板
int128无法用常规I/O,正好我还不会快读,就放一起了
...arg是函数缺省的参数
x=(x<<1)+(x<<3)+(ch^48)就是x*2+x*8+ch转为数字,利用位运算快一点
#includeusing namespace std; template inline void read(T& x) { x=0;T f=1; char ch=getchar(); while(ch<'0'||ch>'9') {if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9')x=(x<<1)+(x<<3)+(ch^48),ch=getchar(); x=x*f; return; } template void read(T& x,Arg& ...arg){ read(x); read(arg...); } template inline void write(T x) { if(x<0)putchar('-'),x=-x; if(x<10)putchar(x+'0'); else write(x/10),putchar(x%10+'0'); } template void write(T& x,Arg& ...arg){ write(x); putchar(' '); write(arg...); } int main(){ __int128 x; read(x); write(x,x,x); }