# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | Dominater069 | 154 |
8 | awoo | 154 |
10 | luogu_official | 150 |
Name |
---|
If a[i]%k = a[j]%k, then abs(a[j] — a[i])%k = 0. Therefore, any number that divides the absolute difference of all pairs of numbers will work. Therefore, find the GCD of the absolute differences between all pairs, and any divisors of that number will work. Note that this solution is O(n^2), which is fine for those bounds, but you can speed it up by considering only differences between consecutive elements of the array.
Thanks a lot