Задача №893. Забавный конфуз
Автор разбора: Михаил Густокашин
Пусть в исходном массиве минимальное число было X, максимальное - Y, а сумма всех элементов - S. При применении операции confuse происходит следующее: confuse(X) = S-X, confuse(Y) = S-Y. Среди всех членов последовательности A число X было максимальным т.е. из разностей S-Ai, разность S-X будет минимальна. Это новый минимум. Аналогично S-X - максимальное из чисел. Т.е. при однократном применении разность максимума и минимума станет равна S-Y-(S-X)=X-Y, т.е. искомое число не изменилось. Значит для решения задачи необходимо найти разность максимум и минимума в исходном массиве - она и будет ответом на задачу. Также необходимо учесть, что разность может превысить 32-битный тип (2^31-(-2^31)) = 2^32, следовательно, все операции следовало выполнять в 64-битном типе.