KK 去参加 Google 面试了。面试官给了 KK 一共 n 个硬币,并把他们排成一列。
现在面试官给了一个整数 m,他要求 KK 通过以下两种操作,使得硬币组成的数列前 n−m 位和后 n−m 位匹配。
具体的说,设硬币组成的数列为 a1, a2, · · · , an,面试官要求 a1 = am+1, a2 = am+2, · · · , an−m =an。
KK 所选择的操作,必须是下面两种中的其中一种:
• 选择其中一个硬币,并且翻转它。
• 选择前 k · m 位(k 为任意正整数),并且翻转它们。
为了博取面试官的好感,KK 自然想用最少的翻转次数来完成面试官的要求。