I need help to solve this problem from an ICPC Regional Contest
It's easy to find the MEX difference of the subarray [l:r] in O(1), F(l, r). but what makes it hard is to find the maximum MEX difference among all subarrays inside range l:r

| # | User | Rating |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | jiangly | 3631 |
| 4 | Kevin114514 | 3574 |
| 5 | maroonrk | 3521 |
| 6 | strapple | 3515 |
| 7 | Radewoosh | 3461 |
| 8 | tourist | 3428 |
| 9 | turmax | 3378 |
| 10 | Um_nik | 3376 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 161 |
| 2 | adamant | 148 |
| 3 | Um_nik | 146 |
| 4 | Dominater069 | 143 |
| 5 | errorgorn | 140 |
| 6 | cry | 138 |
| 7 | Proof_by_QED | 136 |
| 8 | YuukiS | 135 |
| 9 | chromate00 | 134 |
| 10 | soullless | 133 |
I need help to solve this problem from an ICPC Regional Contest
It's easy to find the MEX difference of the subarray [l:r] in O(1), F(l, r). but what makes it hard is to find the maximum MEX difference among all subarrays inside range l:r

| Name |
|---|



can you provide the link of this problem ?
https://mirror.codeforces.com/group/Rilx5irOux/contest/530057/problem/J
here is my code
feel free to ask me anything !
Thank you
What can i do if i am not allowed to see the contest? Really wanna upsolve this now(
you need to join this group in order to see the contest
my approach: first, absolute values are hard to work with so let's remove them by calculating the max value of
MEX(P,a,b) - MEX(Q,a,b)over all a,b for a query (and similarlyMEX(Q,a,b) - MEX(P,a,b)) and answer is the max of these 2now to maximize
MEX(P,a,b) - MEX(Q,a,b), let's think of a naive solution first: let's loop over all valuesXwhichMEX(P,a,b)can be, and try to minimizeMEX(Q,a,b). Well observe that as you extend a subarray by 1 ([a,b] -> [a-1,b] or [a,b+1]) the mex can only increase, so we want to find the smallest subarray whereMEX(P,a,b)equalsXwell this can be done with a simple loop:
first calculate index:
then something like:
finally we can observe that these "minimal-mex" subarrays in a can only increase in length, so for a query, we can binary search the largest mex for which that corresponding "minimal-length" subarray is contained in the query. And also store
MEX(P,a,b) - MEX(Q,a,b)in an array, prefix-maxedThank You