Ускорение ввода-вывода: различия между версиями
Материал из Algocode wiki
Строка 1: | Строка 1: | ||
− | Стандартные <code>cin</code> и <code>cout</code> работают очень медленно. Чтобы в разы их ускорить (и, возможно, побороть TLE), в начале <code>main</code> пишите следующее: | + | Стандартные <code>cin</code> и <code>cout</code> работают очень медленно. Чтобы в разы их ускорить (и, возможно, побороть TLE), в начале <code>main</code> пишите следующее (в интерактивных задачах делать этого <b>не надо</b>): |
<syntaxhighlight lang="C++"> | <syntaxhighlight lang="C++"> | ||
ios::sync_with_stdio(0); | ios::sync_with_stdio(0); |
Текущая версия на 09:43, 28 ноября 2019
Стандартные cin
и cout
работают очень медленно. Чтобы в разы их ускорить (и, возможно, побороть TLE), в начале main
пишите следующее (в интерактивных задачах делать этого не надо):
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
Также крайне не рекомендуется использовать endl
(кроме интерактивных задач). Используйте "\n"
. Они отличаются тем, что endl
делает flush
вывода, то есть сразу же выводит то, что вы хотите. Если вы будете использовать "\n"
, вывод будет накапливаться, а потом единожды выводиться, что гораздо быстрее.
Автор конспекта: Егор Гутров
По всем вопросам пишите в telegram @Egor_Gutrov