|
|
|
|
|
|
|
Вернуться
| 1 Хворых Павел, 24 октября 2017 г. 15:14:34 | |
|
20-я задача проходит с чтением через scanf, если подключать stdio.h (и не подключать iostream!)
|
|
|
| 2 Хворых Павел, 24 октября 2017 г. 13:32:00 | |
|
Преподавательский, надо подключить именно stdio.h, не cstdio.
|
|
|
| 3 Меньшиков Фёдор Владимирович, 24 октября 2017 г. 13:09:53 | |
|
Да, 41-я задача не проходит с чтением через cin и 20-я задача не проходит с чтением через scanf. Ну и что? Люди, пишущие на Java, же не ноют, что java.util.Scanner слишком медленный и для большого ввода нужно писать сканер самостоятельно. Они просто пишут свой сканер. И для C++ можно написать мегабыстрый ввод-вывод, используя fread. Если хотите, могу поделиться своей версией.
|
|
|
| 4 Меньшиков Фёдор Владимирович, 24 октября 2017 г. 13:00:44 | |
|
Стандарт C++, N4296, Working Draft 2014-11-19. Секция D.5 C standard library headers [depr.c.headers] 1 For compatibility with the C standard library and the C Unicode TR, the C++ standard library provides the 26 C headers, as shown in Table 155. В списке заголовков присутствует stdio.h.
|
|
|
| 5 Преподавательский, 24 октября 2017 г. 0:26:16 | |
|
Но в С++ по стандарту нет заголовочного файла stdio.h. Более того, даже с cstdio, sync_with_stdio(false) и cin.tie(nullptr) время исполнения всё равно больше TL.
|
|
|
| 6 Меньшиков Фёдор Владимирович, 22 октября 2017 г. 7:30:03 | |
|
Задача 0041 на C++ проходит за 1.1 с если первая строчка программы #include <stdio.h>
|
|
|
| 7 Меньшиков Фёдор Владимирович, 22 октября 2017 г. 7:25:07 | |
|
Чтобы искать конкретные различия, достаточно получить Compilation error, а затем кликнуть на номер исходника и посмотреть ошибки компиляции, которые выдаёт компилятор на acmp. Значительная часть проблем со скоростью ввода-вывода решается использованием <stdio.h> в качестве первого инклюда.
|
|
|
| 8 Беляев Сергей Николаевич, 22 октября 2017 г. 7:16:13 | |
|
Софт для проверки решений написан под Windows, все работает в Windows XP, которая конечно уже не поддерживается в плане обновлений, зато требует гораздо меньших ресурсов, чем более поздние версии Windows. Реализация всего под Linux - более разумна, но кто же это все будет переписывать? :)
|
|
|
| 9 Преподавательский, 22 октября 2017 г. 2:45:06 | |
Не уверен, что можно на тестовых машинах ставить что-то более тяжёлое. Оптимизированные асимптотически оптимальные решения на С++ для 0020 и 0041 не проходят по TL на тестах с длинным инпутом. Если это не ошибка в коде (маловероятно, но не уверен), то сейчас они нагружены существенно больше, чем во времена, когда эти задачи возможно было сдать. На С++ возможно сдать все задачи, более того, даже с запасом по времени. Во времена, которым более 3х лет и тестирующая система была одна и работала она на компьютере прошлого тысячелетия.
|
|
|
| 10 Преподавательский, 22 октября 2017 г. 2:34:56 | |
|
На чём написан софт для проверки решений, и возможно ли его запустить на linux? CentOS требует 256 MiB RAM и 2 GiB HDD, и запускать GCC там существенно проще.
|
|
|
| 11 Преподавательский, 22 октября 2017 г. 2:31:04 | |
|
К сожалению, чтобы искать конкретные различия с пруфами, нужно поставить gcc 5.1 в качестве системного компилятора. По меньшей мере, у них различаются транизитивные зависимости стандартных библиотек (несущественно, если подключать все необходимые по стандарту библиотеки) и есть какие-то различия в требованиях к лямбда-функциям, передаваемым компараторами в sort. Кстати, пора бы С++17 включать, поскольку текст стандарта одобрен, но и С++14 тоже было бы увидеть очень приятно.
|
|
|
| 12 Меньшиков Фёдор Владимирович, 21 октября 2017 г. 14:17:22 | |
|
Кстати, официальные требования к Windows 10 32 bit - 1 Gb RAM + 16 Gb HDD. Это, конечно, повыше чем у XP, но вроде приемлемо для машинок, на которых работают тестирующие системы.
|
|
|
| 13 Меньшиков Фёдор Владимирович, 21 октября 2017 г. 14:12:27 | |
|
Может всё-таки укажете конкретную конструкцию, которая в 6.3 компилируется, а в 5.1 нет? Может быть оно не имеет отношения к версии gcc, а имеет отношение к используемому стандарту C++? На acmp явно прописано использование C++11. Может Вы что-то из C++14 использовали? Если так, то всё при желании решается куда проще обновления до 6.3.
|
|
|
| 14 Беляев Сергей Николаевич, 21 октября 2017 г. 4:02:40 | |
|
Вы считаете, что я не читаю форум? Здесь же должен кто-то удалять нецензурную брань :) Ну а с обновлением компиляторов весьма проблематично: в Windows XP не так просто устанавливаются. А для использования другой ОС требуется больше ресурсов.
|
|
|
| 15 Касенов Бекжан, 21 октября 2017 г. 0:24:39 | |
|
Опыт показал, что чтобы сообщение действительно дошло до админа, нужно писать ему лично на почту.
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |