IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Задача на сортировку
klem4
сообщение 21.04.2011 16:05
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Есть следующая задача:

Входные данные
Дано число N (1 ≤ N ≤ 100000), а затем в одной или нескольких строках N натуральных чисел из диапазона от 1 до 100.
Выходные данные
Выведите в одной строке N чисел в неубывающем порядке.

Есть ограничения:
Лимит времени: 0.1 секунды

Понятно, что сортировать тут ничего не нужно, так как в заданное время не уложиться, есть решение:
Спойлер (Показать/Скрыть)


Но оно проходит всего-лишь 78.6% тестов, на остальных - превышение времени, максимальное время работы 0.109 секунды из 0.1 секунды, то есть превышение в 0.009с. От куда мне их взять ума не приложу sad.gif Пробовал кучу разных вариантов, без векторов, без строк, все только хуже. Нид хелп smile.gif

Добавлено через 19 мин.
вопрос решен, помогла замена iostream на stdio.h smile.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
karpinsky
сообщение 22.04.2011 15:51
Сообщение #2





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  2  +


Ничего у него не страдает, если правильно использовать (в данном конкретном случае работаем не с какими-то своими хитрыми классами, на которых может быть потеря времени, а с обычным int, тут все будет в порядке). Просто для решения задачи нужно сначала подумать, а потом начинать программировать. В данном случае было принято неверное решение об использовании вектора, его придется отдельно сортировать, либо обрабатывать специальным образом, чтобы получить желаемый результат. Мультимапу же ничего подобного делать не надо, он будет содержать добавляемую информацию уже в сортированном виде (кстати, в виде того же дерева, которое предложено выше), и достаточно будет данные только перенести в строку и вывести на печать.

Причем, работать это будет вне зависимости от типа данных, которые нужно упорядочить, критерий сортировки и тип обрабатываемых данных задается пользователем при описании типа мультимапа.

P.S. Заранее извиняюсь за вторжение на форум под названием "Все о Паскале", как раз к Паскалю и его потомкам я равнодушен, но в этом разделе может и найдется что-нибудь интересное...

Сообщение отредактировано: karpinsky - 22.04.2011 15:53
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
klem4   Задача на сортировку   21.04.2011 16:05
DarkWishmaster   В С не разбираюсь, но наверное ты пузырьковой сорт...   21.04.2011 21:35
Freedom   В С не разбираюсь, но наверное ты пузырьковой сор...   21.04.2011 23:06
klem4   DarkWishmaster Как я уже указал в первом по посте ...   22.04.2011 7:35
Lapp   То, что потоки работают медленее, чем стандартный ...   22.04.2011 7:49
TarasBer   (старожил форума, многое знает): > (новичок, т...   22.04.2011 9:01
Lapp   Мне кажется, это надо добавить в перлы форума.Да л...   22.04.2011 10:43
TarasBer   > В строке спереди - младшие байты, а экспонент...   22.04.2011 11:05
Guest   Топикстартеру: смотрим, как работает std::multimap...   22.04.2011 14:17
TarasBer   > обогнать отшлифованный годами стандартный кла...   22.04.2011 14:30
karpinsky   Ничего у него не страдает, если правильно использо...   22.04.2011 15:51
-TarasBer-   Ты всерьёз считаешь, что этот самый мультимап (вну...   22.04.2011 16:31
karpinsky   А ты всерьез считаешь, что пробежаться по дереву о...   22.04.2011 16:49
-TarasBer-   > А ты всерьез считаешь, что пробежаться по дер...   22.04.2011 17:51


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.07.2025 14:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"