Подготовка к олимпиадам: быстрый ввод-вывод

BufferedReader и StringBuilder: быстрый ввод-вывод и олимпиадный шаблон.

Scanner прост, но медленный: на сотнях тысяч чисел он может не уложиться в лимит времени, даже если алгоритм правильный. Олимпиадный стандарт для Java — BufferedReader для чтения и StringBuilder для вывода. • BufferedReader читает большими кусками, StreamTokenizer или split разбирают строку на числа; • StringBuilder накапливает весь вывод, и он печатается одним вызовом в конце.
Java

Быстрый шаблон. Введите: 4, затем 10 20 30 40

Что важно в шаблоне: • throws Exception у main избавляет от обязательных try/catch при чтении; • br.readLine() читает целую строку, StringTokenizer выдаёт из неё числа по одному; • весь вывод собирается в StringBuilder — тысячи println работают в разы медленнее. Checklist олимпиадника на Java: 1. Класс называется Main. 2. Большие значения — в long; в произведениях хотя бы один множитель приведён к long. 3. Строки сравниваются через equals, не ==. 4. Много данных — BufferedReader вместо Scanner, StringBuilder вместо println в цикле.
Курс завершён — поздравляем! Откройте раздел «Обучение» и начинайте «Путь олимпиадника» с Уровня 1: сложность алгоритмов, задачи на реализацию и базовая математика. Удачи на соревнованиях!
Доска