D. Минимальная куча ли это
Дан массив. Проверьте, образует ли он корректную минимальную кучу: родитель не больше своих детей.
Если да - выведите 0, иначе наименьший индекс , для которого меньше своего родителя.
Отличие от классной задачи ровно в одном знаке. Это стоит проделать: перепутанный знак - самая частая ошибка при переходе от max-кучи к min-куче, и обнаруживается она обычно уже внутри большого алгоритма, где искать её дорого.
В C++ min-куча из стандартной библиотеки получается так: std::priority_queue<int, std::vector<int>, std::greater<int>>. Обратите внимание, что компаратор greater даёт кучу минимумов - это тоже место, где путаются.
Формат ввода
В первой строке - число ().
Во второй - целых чисел, по модулю не превосходящих .
Формат вывода
Одно число: 0, если массив является минимальной кучей, иначе наименьший нарушающий индекс.
Примеры
5 1 2 3 4 5
0
6 12 6 8 3 4 7
2