URAL 1252 - Sorting the Tombstones

連結 https://acm.timus.ru/problem.aspx?space=1&num=1252

題目大意︰一個最多130000個elements的array,利用類似shell sort的方法去sort,即是只可以對每隔K個位的element進行swapping。問K最大是多少。

很直觀,只需要比對sort好和未sort的array的index之差,再找它們的共同gcd便可。因為對於每個element,一定要去到和它相差X個位的位置,而每一個element也要附合這個條件,為要達到這個目的,必須找一個共同數K都被每一個X整除,而K便是答案。

唯一一個trick便是題目要求。這題目沒有說明sort要是ascending還是descending,被fake了一次......