Как известно в Codeforces нельзя использовать для чтения 64-битных чисел на С++ спецификатор %lld, а рекомендуется использовать %I64d. Как мне известно это связано с ОС сервера. Если у сервера Windows, то I64d, а если Linux, то %lld. Но если мы хотим автоматически определять, что использавать, I64d или %lld, можно записать код так:
if (defined(WIN32) || !defined(__GNUC__))
#define I "%I64d"
#else
#define I "%lld"
endif
Тогда можно писать так : scanf(I, x); и printf(I, x); Но при попытке сдать такой код предъявят ,что вы используете %lld. Почему??? Ведь используя выше код, автоматически будет использоваться либо %I64d, либо %lld, зависит от ОС проверяющего компютера. Прошу ответить администраторов.