Other

Int128

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
inline void read(__int128& x) {
int f = 1;
x = 0;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-')
f *= -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + ch - '0';
ch = getchar();
}
x *= f;
}

inline void print(__int128 x) {
if (x < 0) {
putchar('-');
x = -x;
}
if (x > 9)
print(x / 10);
putchar(x % 10 + '0');
}

O2 & O3 & fast-read & & fast-write

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//O2
#pragma GCC optimize(2)

//O3
#pragma GCC optimize(3,"Ofast","inline")

//fast-read
int read() {
int x = 0;
int w = 1;
char ch = 0;
while (ch < '0' || ch > '9') {
if (ch == '-') {
w = -1;
}
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + (ch - '0');
ch = getchar();
}
return x * w;
}

//fast-write
void write(int x) {
if (x < 0) {
x = -x;
putchar('-');
}

if (x > 9) {
write(x / 10);
}
putchar(x % 10 + '0');
}