#include <stdlib.h> | |
#include <ctype.h> | |
long long atoll(const char* s) { | |
long long n = 0; | |
int neg = 0; | |
while (isspace(*s)) | |
s++; | |
switch (*s) { | |
case '-': | |
neg = 1; | |
case '+': | |
s++; | |
} | |
/* Compute n as a negative number to avoid overflow on LLONG_MIN */ | |
while (isdigit(*s)) | |
n = 10 * n - (*s++ - '0'); | |
return neg ? n : -n; | |
} |