summaryrefslogtreecommitdiff
path: root/other/fastIO.cpp
blob: 0077ce278b06bddfd78178de0957fd56332fb297 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void fastscan(int* number) {
  bool negative = false;
  register int c;
  *number = 0;
  c = getchar();
  while(c != '-' && (c < '0' || c > '9')) c = getchar();
  if (c == '-') negative = true, c = getchar();
  for (; c > 47 && c < 58; c = getchar()) *number = *number * 10 + c - 48;
  if (negative) *number *= -1;
}

void printPositive(int n) {
  if (n == 0) return;
  print(n / 10);
  putchar(n % 10 + '0');
}

void fastprint(int n) {
  if(n == 0) { putchar('0'); return; }
  if (n < 0) {
    putchar('-');
    print(-n);
  } else print(n);
}