![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Есть следующая задача:
Входные данные Дано число N (1 ≤ N ≤ 100000), а затем в одной или нескольких строках N натуральных чисел из диапазона от 1 до 100. Выходные данные Выведите в одной строке N чисел в неубывающем порядке. Есть ограничения: Лимит времени: 0.1 секунды Понятно, что сортировать тут ничего не нужно, так как в заданное время не уложиться, есть решение: Спойлер (Показать/Скрыть)
Но оно проходит всего-лишь 78.6% тестов, на остальных - превышение времени, максимальное время работы 0.109 секунды из 0.1 секунды, то есть превышение в 0.009с. От куда мне их взять ума не приложу ![]() ![]() Добавлено через 19 мин. вопрос решен, помогла замена iostream на stdio.h ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
Guest |
![]()
Сообщение
#2
|
Гость ![]() |
Топикстартеру: смотрим, как работает std::multimap и не придумываем доморощенных алгоритмов сотрировки - обогнать отшлифованный годами стандартный класс вряд-ли удастся, а вот времени на это уйдет море.
Также смотрим на строку s.erase(s.begin()); до просветления, и думаем, сколько она сожрет времени. При переносе из любого контейнера в stringstream с использованием разделителя, не делают for(container_type::iterator it = cnt.begin(); it != cnt.end(); it++) ss << " " << (*it); , чтобы потом удалять ненужный разделитель из начала строки, а делают container_type::iterator it = cnt.begin(); ss << (*it++);, и строку сразу можно забросить в cout... |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 14:18 |