C. Сколько стоит построение
Постройте кучу из массива тем же алгоритмом, что в классе - просеиванием вниз по индексам от до 1, - и выведите суммарное количество обменов.
Это способ увидеть линейность построения своими глазами. Теория обещает, что суммарная работа не превосходит ; посмотрите, сколько получается на самом деле.
На отсортированном по возрастанию массиве обменов будет много - почти каждый элемент придётся опускать. На отсортированном по убыванию массив уже является кучей, и обменов не будет вовсе. Оба теста в наборе есть.
Сравните полученное число с : разница между линейным построением и построением вставками видна сразу.
Формат ввода
В первой строке - число ().
Во второй - целых чисел, по модулю не превосходящих . Числа могут повторяться.
Формат вывода
Одно число - суммарное количество обменов при построении.
Примеры
5 1 2 3 4 5
3
6 5 5 5 5 5 5
0