Re: Цікаві задачі
lucas-kane, узагалі не те
Ніби все нескладно, але у мене температура під 38, можу сильно переплутати.
Ідемо з кінця. Знаходимо різницю між a[k] і a[k-1] - це кількість інверсій для числа p[k], тобто кількість чисел, більших за p[k], що йдуть перед ним. Оскільки в кінці вже кілька чисел зайнято, то треба перевірити, які з них більші і відповідно зменшити значення. Таким чином визначаємо p[k] і переходимо на наступний крок. Загальна складність - O(n^2).