What order of time algorithm works for a time limit of 0.5 s?

I am unable to find good reliable documentation for this.

# Time Complexity 0.5 sec

It depends on the constraints.

If N <= 10^6, an O(N log N) solution would easily pass.

(Based on the assumption 10^8 operations take 1 second)

Not necessarily true. The constant for c++ set / map is pretty big and n=10^6 for O(nlogn) won’t easily pass. (You can think of it like each set operation takes 10logn operations).

so only O(N) solution passes for sure,

btw consider complexity for #T .

if T = 10 it’d be 0.05 seconds per test case.

I see…

So only an O(N log N) solution with no constants or coefficients would pass.

For example, nlogn with n=10^6 seems reasonable for binary search / binary indexed tree, both of which have low constants.

I am not able to understand this question EXPCH. Can any one explain the example test case ? Is it right to ask clarification of the question when the long challenge is still going on?

Yeah, EXPCH does not really explain the test case very much at all; you have to rely on reading the explanation carefully.

Hopefully you know what is meant by a multiplicative modular inverse. Plenty of articles on that here.