Crazy time difference between submissions with minimal changes

Revision en7, by wnmrmr, 2024-02-21 20:21:26

Hi, if you compare this submission (296ms) with this one (3025ms), this is the difference:

I think this is crazy because g is a vector<vector<int>> with size 3 * 10^5 with at most 3 * 10^5 entries, and the function build that returns g is called once in the program. This huge time difference is the same on both 64-bit C++ compilers, but it is not present in the 32-bit C++ compiler.

UPD: Calling the function build twice solves the problem

  1. Normal submission (3041ms)
  2. Changed submission (327ms)

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en7 English wnmrmr 2024-02-21 20:21:26 2 Tiny change: 'iler.\n\nUDP: Calling ' -> 'iler.\n\nUPD: Calling '
en6 English wnmrmr 2024-02-21 20:19:37 8 Tiny change: '7645857)\n\n![ ](/pr' -> '7645857)\n![ ](/pr' (published)
en5 English wnmrmr 2024-02-21 20:17:42 317 (saved to drafts)
en4 English wnmrmr 2024-02-21 16:29:50 0 (published)
en3 English wnmrmr 2024-02-21 16:28:48 28 Tiny change: 'ers, but is not p' -> 'ers, but it is not p'
en2 English wnmrmr 2024-02-21 16:25:38 317 Tiny change: 'ze `3 * 10 ^ 5` with at' -> 'ze `3 * 10^5` with at'
en1 English wnmrmr 2024-02-21 16:18:40 322 Initial revision (saved to drafts)