Getting TLE'd with O(nlogn) (2-sec)

Revision en5, by Codeforcer, 2021-05-02 15:17:07

I cannot figure out why this code is getting TLE'd despite of everything being under order and constraint. I knew those mod operations were costly so I optimized them but still no luck.

Problem : https://mirror.codeforces.com/contest/1466/problem/E

Code

Update-1 : Resolved, It barely passed(1996 ms) after I changed some ll's to ints. Would still like to hear some advice or a good solution though!

Update-2 : The comments are absolute gold thanks guys! Made the necessary changes and made code more concise.

New Code

GNU C++17(64 bit) -> 453 ms

GNU C++17 ->1263 ms

Would still like to know more on the difference in time on the above 2 compilers.

Thanks!

Tags #goodbye2020, tle, div2e

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en5 English Codeforcer 2021-05-02 15:17:07 1655 Tiny change: '263 ms\n\n<spoil' -> '263 ms\n\n\n\n<spoil'
en4 English Codeforcer 2021-05-02 13:45:19 9 Tiny change: 'ely passed after I c' -> 'ely passed(1996 ms) after I c'
en3 English Codeforcer 2021-05-02 13:44:38 145 Tiny change: 'oiler>\n\nUpdate : Resolve' -> 'oiler>\n\n**Update** : Resolve'
en2 English Codeforcer 2021-05-02 13:28:53 0 (published)
en1 English Codeforcer 2021-05-02 13:28:36 2013 Initial revision (saved to drafts)