Пусть (b1, ..., bn) – произвольное расположение карточек (здесь bi – число на карточке в i-й ячейке). Назовём его ценой число
|b1 – 1| + |b2 – 2| + ... + |bn – n|. Лемма. Для любого расположения (b1, ..., bn), в котором не все карточки лежат на своих местах, можно поменять местами некоторые две карточки bi и bj так, что цена уменьшится ровно на 2|bi – bj|.
Доказательство. Заметим, что при нашем действии цена уменьшается на
|bi – i| + |bj – j| – |bi – j| – |bj – i| = (|bi – i| – |bj – i|) + (|bj – j| – |bi – j|). (*)
Нетрудно видеть, что для того, чтобы выражение (*) было равно 2|
bi – bj|, достаточно выполнения неравенств
i ≤ bj < bi ≤ j: тогда каждая из скобок в (*) будет равна |
bi – bj|. Осталось найти такие индексы
iи
j.
Первый способ. Пусть
j– наибольшее число на карточке, лежащей не в своей ячейке. Карточка с числом
bjтакже лежит не в своей ячейке, так что
bj < j. Отметим первые
bjячеек. У нас есть ровно
bjкарточек с числами, не превосходящими
bj, и одна из них (карточка с числом
bj) уже лежит в неотмеченной ячейке с номером
j < bj. Значит, найдётся такая отмеченная ячейка
i, что
bi > bj. По выбору номера
j, имеем
bi ≤ j, откуда и следует цепочка неравенств
i ≤ bj < bi ≤ j.
Второй способ. Для каждого
kобозначим через
ckномер ячейки, в которой лежит карточка с числом
k(таким образом,
cbk = k = bck).
Пусть
s– наименьшее число, при котором
cs < s; такое число найдётся, поскольку
c1+ ... +
cn= 1 + ... +
n. Тогда карточка с числом
csлежит не в своей ячейке. Пусть
t– максимальный номер ячейки, меньший
sи такой, что
ct ≠ t. Тогда
ct > t, ибо
t < s; кроме того,
t ≥ cs из максимальности
t. Поскольку
k = ck ≠ ct при всех
t < k < s, из неравенства
ct > t следует
ct ≥ s. Итак,
cs ≤ t < s ≤ ct. Полагая
i = cs, j = ct, приходим к требуемому неравенству
i ≤ bj < bj ≤ j. Итак, для любого расположения, отличного от требуемого, можно уменьшить его цену на некоторое число
a, заплатив ровно
a. Продолжая такие действия, мы в результате придём к расположению с нулевой ценой, заплатив в процессе ровно цену исходного расположения.