Ускорение ввода-вывода: различия между версиями
Материал из Algocode wiki
(init) |
|||
Строка 8: | Строка 8: | ||
Также крайне не рекомендуется использовать <code>endl</code> (кроме интерактивных задач). Используйте <code>"\n"</code>. Они отличаются тем, что <code>endl</code> делает <code>flush</code> вывода, то есть сразу же выводит то, что вы хотите. Если вы будете использовать <code>"\n"</code>, вывод будет накапливаться, а потом единожды выводиться, что гораздо быстрее. | Также крайне не рекомендуется использовать <code>endl</code> (кроме интерактивных задач). Используйте <code>"\n"</code>. Они отличаются тем, что <code>endl</code> делает <code>flush</code> вывода, то есть сразу же выводит то, что вы хотите. Если вы будете использовать <code>"\n"</code>, вывод будет накапливаться, а потом единожды выводиться, что гораздо быстрее. | ||
− | {{Автор|Егор Гутров| | + | {{Автор|Егор Гутров|Egor_Gutrov}} |
[[Категория:Конспект]] | [[Категория:Конспект]] | ||
[[Категория:C++ и STL]] | [[Категория:C++ и STL]] |
Версия 09:42, 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