Ускорение ввода-вывода: различия между версиями

Материал из 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}}
+
{{Автор|Егор Гутров|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