You Have Number N initialy equal to 1 , and there is 2 operations : 1) 1 x : multiple n by , n=n*x 2) 2 x : check if n%(x!)=0 , n mod (factorial x) = 0
Query up to 1e5 , x up to 1e6
Any hint ?
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3676 |
| 2 | Kevin114514 | 3659 |
| 3 | jiangly | 3640 |
| 4 | turmax | 3450 |
| 5 | tourist | 3382 |
| 6 | strapple | 3360 |
| 7 | Um_nik | 3354 |
| 8 | squareOf105 | 3348 |
| 9 | maroonrk | 3312 |
| 10 | idontwannadothis…e | 3191 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 156 |
| 2 | nik_exists | 151 |
| 3 | maspy | 149 |
| 4 | AmShZ | 145 |
| 5 | Um_nik | 143 |
| 6 | Errichto | 139 |
| 7 | BledDest | 136 |
| 8 | adamant | 135 |
| 9 | maroonrk | 132 |
| 10 | cry | 130 |
You Have Number N initialy equal to 1 , and there is 2 operations : 1) 1 x : multiple n by , n=n*x 2) 2 x : check if n%(x!)=0 , n mod (factorial x) = 0
Query up to 1e5 , x up to 1e6
Any hint ?
| Name |
|---|



You can get all the primes till 1e6 using seive then you can set a variable M=1 which tells the maximum value of M for which n is divisible by M!, for a query of type 1 x add the prime factorization of x in the residual product array which stores the powers of primes at the indexes now run a while loop checking if product array is divisible by M+1 if so, increment M by 1 and remove the prime factorization from the array. For query of type 2 x simply give yes if M>=x else no. Expected time complexity O((Q)log(1e6))