Странная ситуация(три разных вердикта с трех разных компиляторов)

Правка ru3, от thematdev, 2021-07-22 23:41:32

Я заслал решение с трех разных компиляторов и получил три разных вердикта(OK, WA 1, ML 1) по задаче 1553E - Permutation Shift с последнего раунда

123344376

123363613

123363479

Потом я запустил valgrind (g++ 11.1.0) и обнаружил странные "still reachable" адреса памяти, связанные с ios_base::sync_with_stdio. Потом я обнаружил, что он был в функции solve, которую я вызываю для каждого набора входных данных, а не в main, после чего я перенес его в main и получил OK на всех компиляторах.

valgrind output on sample

Достаточно странная , и самое главное, интересная ситуация, поэтому я прошу знающих людей подсказать в чём была проблема в комментариях. Также буду рад любой критике кода, особенно той, которая помогла бы в дальнейшем не выстреливать себе в ногу подобным образом.

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en4 Английский thematdev 2021-07-22 23:42:15 0 (published)
ru4 Русский thematdev 2021-07-22 23:41:54 0 (опубликовано)
ru3 Русский thematdev 2021-07-22 23:41:32 129
en3 Английский thematdev 2021-07-22 23:40:01 86 Tiny change: 'he problem, write abo' -> 'he problem to write abo'
en2 Английский thematdev 2021-07-22 23:30:10 55
en1 Английский thematdev 2021-07-22 23:28:27 6876 Initial revision for English translation (saved to drafts)
ru2 Русский thematdev 2021-07-22 23:21:36 127
ru1 Русский thematdev 2021-07-22 23:19:58 6769 Первая редакция (сохранено в черновиках)