Стандартная библиотека C++ (2015)

Притензии к правильности solution’a почти сняты:

Бегло просмотрев тесты, обнаружил следующую неприятность:

WW 1425 10.03.2016 17:20 `Google` 4
`Juke_box` 3.530 45.05
`Airplane` 5.880 97.90
`Airplane` 18.709 46.81
`Airplane` 23.409 188.12

Одино и то же наименование с различными значениями в одном документе. Если так и задумано, то прошу указать это в условии, так как из него это совсем не очевидно.

Update: В условии указано:

Каждый товар в Таблице товаров складского документа встречается один раз

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

Очень озадачило то, что тесты поменялись после перепосылки (очень классно, но не удобно говорить, где и что не так), но все равно:

А вот это вообще что-то удивительное.

--- Output: size 76 ---
    ERROR WW 14 3
    `Bread` -6.676
    `Pills` -16.995
    `Qualified programmers` -3.759

--- Correct: size 175 ---
ERROR WW 14 8
`Battary` 14.565
`Black box` 8.309
`Bread` -6.676
`Cheese` 0.920
`Chips` 6.925
`Nice White Sheets` 5.628
`Pills` -16.995
`Qualified programmers` -3.759

Удивительное в том, что в эталонном output’e содержатся позиции, которые не вызывают ошибки.

как много эмоций … Но, как я понимаю, все проблемы уже преодолены …

Не совсем:smile:

Тест 10:

WW 56 21.10.2015 18:35 `Microsoft` 3
`?/#?.* data` 1.621 253.03
`Cute unicorn` 12.624 62.79
`Cute unicorn` 9.782 299.87 

Одно наименование встречается два раза -> тест вроде некорректен.

То же самое, наверное, еще в 8 тестах, на которых одно из моих решений прошло только 21 тест.

====== Test #30 ======= -— Input: file is too large, original size 289338 —- -— Output: size 0 —- -— Stderr: size 0 —- Хотел бы спросить что значит такое описание и после 9го (до 30 включительно) теста выдает Run-time error, это ошибка с чем связана,т.е как угадывать, что исправлять? (Если поможет в ответе, это в 30 тесте )Run-time error 0.021 0.024 18341888 Signal 11 (SIGSEGV) 0 (0) L I O A E C F

Runtime error связана с ошибками в процессе исполнения. С тестами это связано только косвенно. Возможно, происходит выход за границы вектора/строки или обращение к освобожденной области памяти.

Описание означает: input очень большой, что не удастся его отобразить. Output пустой, ибо программа упала раньше, чем успела его сформировать.

Спасибо, будем разбираться А тест такой большой можно получить, чтобы на компе своем тестить, а не на сервере?

Можно сгенерировать :wink:

Но большие тесты не имеет смысла смотреть, если есть маленький, на котором та же ошибка (тест 10). Но он, вообще говоря, не корректен в рамках поставленного условия.

На маленьких тестах как раз Runtime error нет

  • есть у меня еще одна догадка, возможно ли что в больших тестах есть две совпадающие даты+время?(По условию вроде даты+время уникальные, а у меня такая ошибка при двух одинаковых получается)

Роман Борисович, тут опять какая-то беда с проверщиком: он говорит, что я вывожу ему совсем не то, хотя это совсем не то, что я ему вывожу. Вот его логи и то, что выводит моя программа, скомпелированная у меня, в студии. http://plasmon.rghost.ru/8Y7X8G2hz/image.png

В этом компиляторе на линуксе действительно другое получается. Сам переписываю собсна под линукс

Ребята, это не “проверщик” и не “компилятор под линукс”.

Проверщик называется “чекер”, так принято в рус сообществе. Судя по картинке там проблема с каким-то xml. @Ivan_Ivanov cообщите номер отправки (run) и я посмотрю.

@Aleksandr_Volohov это clang 3.6.0. Можете его себе под винду поставить с оффсайта.

Из условия: Каждый товар в Таблице товаров складского документа встречается один раз. Номера документов (обеих категорий), а также дата и время уникальны в рамках всей системы учета.

ИЗ 18 теста: WI 241 9.11.2015 22:20 McDonald's 4 Qualified programmers 32.418 227.98 Parrot 11.417 168.30 Bulb 12.711 173.05 Qualified programmers 4.346 13.88

На эту тему писали уже вроде…

Исправленная программа(которая работает по заданным файлам с повторением товара в складских документах), т.е после выхода за рамки условия , прошла все 30 тестов и в score теперь 1

Run ID - 205.

Павел, не могу Вашу отправку исправить. Видимо ejudge что-то закэшировал. Отправьте снова.

====== Test #33 ======= — Input: file is too large, original size 2644835 — — Output: size 60 — ERROR WW 316 3 Clay -0.313 Flower -22.433 Pick -0.000

— Correct: size 49 — ERROR WW 316 2 Clay -0.313 Flower -22.433

Не значит ли это, что у нас где-то точность больше чем в условии?(Тест 33)

Моя программа так отработает при double i = -0.0004; printf("%.3lf", i); Причем выводом это не поправить, т.к товар помещается в map если сумма уходит в минус, а она уходит в минус на 4(или более) знаке после запятой, что по условию неверно.

Это просто даблы. У них два нуля. +0 и -0.

и -0 < 0

Проверка должна быть такая:

sum < 0 && fabs(sum) > eps

1 лайк

Спасибо, теперь все работает :+1:

@RS Здравствуйте Роман Борисович, подскажите пожалуйста, 2 вопроса: 1)В имене контрагента могут ли быть пробелы, к примеру ‘Santa Monica’ и 2) В случае когда у нас OK и такая ситуация что у двух контрагентов одинаковая сумма долга, в каком порядке их выводить? В задании написано:" В случае если у двух контрагентов образовалась одинаковая задолженность, их надо выводить в порядке убывания". В порядке убывания чего?