Блог пользователя SyFy

Автор SyFy, 14 лет назад, По-русски
Добрый день!
Недавно решил попрактиковаться на сайте https://www.spoj.pl и сразу столкнулся с проблемой, а она видимо там вечная - скорость чтения данных.
Ради интереса нашел вот эту задачу.
На КодФорсе читаю Console.ReadLine() и особо не заморачиваюсь, но на SPOJе видимо этого мало. Копал их форум, нашел только для ЯВЫ.

Самое интересное то, что вот у этой тройки результаты по времени очень хорошие я считаю.
Каким образом можно ускорить до такой степени чтение данных?
Буду благодарен за ссылки, отрывки кода и любую помощь!

Спасибо.
  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
First Url

Second Url

Maybe this urls can you help you ;)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вот мой код.
Основные ускорения были из-за:
  1. Использования стрима Console.OpenStandardInput(); вместо ридера Console.In.
  2. Выбора размера буфера в 1<<16 байт.
Думаю можно еще где-нибудь немного ускорить...
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Спасибо!

    Переписал значит ваш код под себя и протестировал для разного размера буфера, пришел к тому, что САМЫЙ лучший и быстрый вариант выставить буфер размера 1<<23.

    >>Думаю можно еще где-нибудь немного ускорить...

    Очень хотелось бы еще узнать где можно ускорить (в смысле чтения данных).