|
|
|
|
|
|
1 Малахов Дмитрий Павлович, 18 февраля 2022 г. 18:02:38 |
Серьёзно? 31 рейтинга в 3 строчки? Вот код: n = int(input()) a = list(map(int, input().split())) print(*sorted(a))
|
|
|
|
2 Громыко Демид Вячеславович, 02 мая 2021 г. 8:19:12 |
На python 170 мб памяти жрет. Подскажите, что не так? Метод sort в Python - не лучший способ решения этой задачи.
|
|
|
3 Лях Александр Егорович, 14 апреля 2021 г. 17:30:53 |
Решал как-то давно. Решил вернуться спустя год. Задача простая, только ввод\вывод нужно подкрутить и всё.
|
|
|
4 Лэнгори Митчел, 30 октября 2020 г. 20:15:19 |
писал на с++. обычный код зависал на 11 тесте TL. Все что изменил, так это ввод/вывод файловый. Все прошло
|
|
|
5 Андрей, 25 июня 2020 г. 5:51:34 |
На java даже с быстрым сканером TLE . Задача вообще решается нa java? Посмотрите раздел "Лучшие решения", Java.
|
|
|
6 Максименко Александр Сергеевич, 13 мая 2020 г. 11:28:36 |
На Python не проходит по времени ни быстрая сортировка ни метод sorted. Че там надо сделать то?
|
|
|
7 Ширяев Иван, 22 января 2020 г. 20:00:30 |
В Visual C++ по времени можно пройти, если сначала сформировать результирующую строку, а потом вывести еще через cout.
|
|
|
8 Касымбеков Абдусаттар Манасбекулы, 22 января 2020 г. 9:07:44 |
Задача не сложная, тайм лимит из за cin/cout, можно ускорить для тех кто использует MinGW с помощью ios_base::sync_with_stdio(false) и cin.tie(NULL) в начале проги, а тем кто пользуется MSVS только printf/scanf. И еще не надо использовать endl где либо
|
|
|
9 Прусов Данил Вадимович, 27 ноября 2019 г. 22:49:53 |
Язык C# Есть маленькая хитрость, если вносить все элементы в лист(динамический массив), а после сделать "List.Sort();" все тесты пройдут)
|
|
|
10 Трохачев Андрей Вадимович, 29 октября 2019 г. 0:17:13 |
У кого TL на 11 тесте на C++, допишите в начало вот это: ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); Так проходит за 0.8 секунд даже с реализацией через сортировку за O(nlogn).
|
|
|
11 Егоров Илья Валерьевич, 24 августа 2019 г. 4:38:16 |
iostream долгий из-за, во-первых, синхронизации с stdio, а, во-вторых, из-за нацела на абстрактности источника. Синхронизация как древний костыль, возникший в силу смешивания stdio и iostream: даже если вы их оба не используете одновременно, лишние действия все равно будут, поэтому следует явно отключать синхронизацию при желании. Абстрактность источника же — это сила "использовать один и тот же интерфейс как для ФС, так и для сети и всего прочего". Следствием стало построение ввода-вывода на неком ограниченном наборе функций, что дает еще одно следствие: это неэффективно. В то время, как мы могли бы определить очень-очень быструю функцию для считывания конкретно знаковых целочисленных типов, iostream абстрагируется от источника, использует набор заготовленных функций, делает уйму проверок, да еще и используется преимущественно для ввода-вывода объектов. Лучший путь — написать свой велосипед поверх чего-то вроде fread, затем сослаться на plan9-way "всё есть файл", но прод будет против.
|
|
|
12 Матвеев Роман Николаевич, 22 августа 2019 г. 21:25:04 |
Использовал cin и cout для ввода и вывода, на 11 тесте время больше 2-ух секунд. Удалил строчку #include <iostream> и использовал stdio.h, все прошло. Почему из-за <iostream> программа работает так долго?
|
|
|
13 Егоров Илья Валерьевич, 01 июня 2019 г. 19:53:13 |
Достаточно (да оно почти везде достаточно, т.к. ограничения по памяти слишком безобидные), но не эффективно.
|
|
|
14 Сулейманов Тимур Олегович, 30 мая 2019 г. 13:46:30 |
На Python достаточно использовать встроенную функцию sorted() и вывод с помощью цикла for.
|
|
|
15 Егоров Илья Валерьевич, 21 марта 2019 г. 12:27:45 |
[Тоже Java] Код переписан под Java API, реализованы [Input/Output]Stream-обертки для MappedByteBuffer, свой UnsafeReader (интерфейс, имеются реализации: RawReader для InputStream и PrintReader для Reader). Несмотря на излишне богатый функционал (в частности, предоставляемый default методами UnsafeReader, который работает не через регулярки как Scanner, а через вызовы read()), с помощью небольшого хака (для MappedInputStream), связывающего методы чтения чисел с ByteBuffer напрямую, удалось приблизить результаты по времени к 0.103, а также еще сильнее сэкономить память. Также выяснилось, что приделать BufferedOutputStream к MappedOutputStream — это действительно хорошая мысль (для данных условий).
|
|
|
16 Егоров Илья Валерьевич, 19 марта 2019 г. 22:08:45 |
[На Java] С помощью генерации побочных массивов в рантайме, а также с выделением кастомной системы ввода-вывода в отдельный класс, удалось минимизировать потери по памяти и свести время к относительно стабильному 0.118. Дальнейшие оптимизации все еще, как предполагается, возможны.
|
|
|
17 Егоров Илья Валерьевич, 19 марта 2019 г. 4:28:36 |
На Java использование модифицированного вывода с ручным парсингом в сишном стиле может выдать 0.15 сек. Замена BufferedReader на MappedByteBuffer в ущерб памяти позволяет достичь 0.103 сек. по времени (при наиболее благоприятных обстоятельствах). Гипотетически возможны дальнейшие оптимизации
|
|
|
18 Мальков Виктор Александрович, 27 февраля 2019 г. 22:58:53 |
На Python основное время тратится не на саму сортировку, а на вывод. Попробуйте его реализовать так print(str((ar[i]) + ' ') * ar[i]). Такой вывод мне помог. Умножение строки пооисходит гораздо быстрее посимвольного вывода
|
|
|
19 Ринчинов Солбон Геннадьевич, 06 января 2019 г. 21:57:08 |
На Java самодельный ввод/вывод == 0.196 сек
|
|
|
20 Слива Лиловая Спелая Садовая, 06 декабря 2018 г. 18:35:46 |
Для тех, кто пишет на Си: прочитайте про функцию qsort
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |