Ускорение ввода-вывода

Материал из Algocode wiki
Версия от 12:43, 28 ноября 2019; Gutrov Egor (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Стандартные cin и cout работают очень медленно. Чтобы в разы их ускорить (и, возможно, побороть TLE), в начале main пишите следующее (в интерактивных задачах делать этого не надо):

ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);

Также крайне не рекомендуется использовать endl (кроме интерактивных задач). Используйте "\n". Они отличаются тем, что endl делает flush вывода, то есть сразу же выводит то, что вы хотите. Если вы будете использовать "\n", вывод будет накапливаться, а потом единожды выводиться, что гораздо быстрее.



Автор конспекта: Егор Гутров

По всем вопросам пишите в telegram @Egor_Gutrov