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

@Ivan_Ivanov, Покажите строки кода, где вы открываете/создаете файлы

Это фича. (встрачается не во всех тестах и не всегда. С чем связана - известно только генератору теста)

Исправить решение под нее не очень сложно.

hastebin.com/pinuhijuqo.coffee

В других тестах, где ответ отличен от OK, повторяется то же самое?

Если нет, то избавтесь от повторного открытия файла, используя fopen(“output.txt”,“a”). Возможно, баг в нем.

Да, в других тестах то же самое, но в них я не могу проверить файл, так как размер входных данных слишком велик и не отображается. Повторное открытие возникает в случае, когда всё “OK”, а сообщение о бинарном файле - при всех типах тестов.

Вопрос по 43-му тесту, почему когда у нас 0 то мы должны выводить что-то? по заданию когда OK нужно выводить имена контрагентов и сумму сколько мы им должны и сколько нам но 0 не вписывается сюда. Какой смысл от информации “Aplle должен нам 0 рублей”?

Или другой вопрос, почему имена в обратном лексикографическому порядке? В 43

43й тест теперь будет 44м.

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

Вместо 43го теста с нулевым балансом предлагается аналогичный, но с ненулевым.

Хочу отметить, что ошибка никак не связана с величиной баланса.

Считаю, что нужно выводить с нулевым балансом, но в лексиграфическом порядке. Т.к для нормального бухгалтера важна отчетность, то и 0.000 нужно выводить.

1 лайк

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

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

Почините, пожалуйста, просмотр результатов чекером.

Тогда тот же вопрос про 42 тест. Почему у меня в 42 правильно, а в 43 неправильно.

Вы путаете партнеров и товары.

Товары нужно выводить в порядке лексикографического возрастания, а партнеров - убывания.

Как это ошибка в 43м тесте не связана с величиной баланса, если поставить float, то будет явно видна такая картина, что в этом тесте 0 и -0, значит величины не одинаковые ]

Перепошлите или подождите rejudge. Нынешний 43й тест демонстрирует, что величина баланса не имеет значения.

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

Тест корректный.

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

Результат работы моего решения до исправления ошибки решения

Есть ли возможность получить input.txt для 41 теста?

Роман Борисович, по поводу бинарных файлов. Дима сегодня посмотрел, оказалось, у меня это происходит из-за того, что на больших файлах программа, скомпилированная на сервере, завершается с ошибкой. Но эта ошибка выводится только при компиляции в g++. На кленге вообще ничего не происходит, программа завершается просто так. Исключения никакие не выбрасываются (я пробовал поймать при помощи catch(…)). У меня же на любых файлах (хоть на мегабайтных) такой ошибки нет, память я выделяю только под объекты-наследники класса Document при чтении их, но нигде больше: всё остальное сделано в векторах и мапах. Более того, ошибка выбрасывается уже после того, как я прочитал все документы и выделил память сам. Так что я даже не могу предположить, чем она вызвана. Вы не могли бы посмотреть, какая строка кода вызывает ошибку? (RUN 846)

Если есть возможность , пожалуйста выложите input.txt 41 теста.