Non deterministic checker?

Revision en3, by clueless_girrafe, 2026-02-12 13:11:58

Weird non-determinism in 2197E1 (Interactive Graph)

While solving 2197E1 (Interactive Graph – Simple Version) in the recent Div 2, I ran into something really confusing, the same logic gave both AC and WA depending on tiny, irrelevant code changes.

I had multiple submissions within minutes:

Some Accepted, some WA on test 8 / 9 / 20 / 21 / 22 / 23

No logic changes. Same idea. Same queries.

The strangest example

This version ACs:

if (q == -1) { return; }

This version WAs:

if (q == -2) { return; } Logically, if I'm getting accepted, both branches are dead code.

Either the checker is non deterministic or there's some UB shenanigans going on.

Links to submissions

362583126 WA

362583031 AC

Darsh_Jain also tried testing it, and the following two submissions

362582232 WA

362581962 AC

And the difference between the two is only that we have added a comment in the first one!

FelixArg and sevlll777 pls help

EDIT: It was indeed UB :(, fixed now. PS: Always use #define _GLIBCXX_DEBUG kids.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en3 English clueless_girrafe 2026-02-12 13:11:58 88
en2 English clueless_girrafe 2026-02-12 10:05:52 449 Tiny change: '362581962] \nAC\n\nAn' -> '362581962]\nAC\n\nAn' (published)
en1 English clueless_girrafe 2026-02-12 09:53:45 722 Initial revision (saved to drafts)